private void CreateServer()
{
int recv=0;//定义接收数据长度变量
IPEndPoint ipEnd = new IPEndPoint(IPAddress.Parse(textBox2.Text), int.Parse(textBox3.Text));//接收端所监听的接口,ip也可以用IPAddress.Any
Socket socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);//初始化一个Socket对象
socket.Bind(ipEnd);//绑定套接字到一个IP地址和一个端口上(bind());
socket.Listen(10);
new Thread(delegate ()
{
Socket clientSocket = null;
while (true)
{
clientSocket = socket.Accept(); //一旦接受连接,创建一个客户端
this.Invoke((EventHandler)delegate
{
textBox1.AppendText(clientSocket.RemoteEndPoint .ToString() + " 已连接 " + DateTime.Now.ToString("yy-MM-dd hh:mm:ss -*- ") + "\r\n");
});
Thread thread = new Thread(() =>
{
while (true)
{
byte[] data = new byte[1024];//对data清零
recv = clientSocket.Receive(data);
if (recv == 0) //如果收到的数据长度小于0,则退出
break;
EndPoint endPoint = clientSocket.RemoteEndPoint;
string stringData = "0x" + BitConverter.ToString(data, 0, recv).Replace("-", " 0x").ToLower();
msg1[19] = data[19];
clientSocket.Send(msg1);
if (stringData.Length>3)
{
this.Invoke((EventHandler)delegate
{
textBox1.AppendText(endPoint.ToString()+" "+DateTime.Now.ToString("yy-MM-dd hh:mm:ss -*- ") + stringData + "\r\n");
});
}
}
}
);
thread.IsBackground = true;
thread.Start();
}
})
{ IsBackground = true }.Start();
}
建立Socket客户端
于 2022-04-26 15:03:05 首次发布