操作界面如下:
1、声明Socket 第一个参数:寻址方式,第二个参数:传输数据的方式,第三个参数:通信协议
Socket socket = new Socket(AddressFamily.InterNetwork,SocketType.Stream,ProtocolType.Tcp);
2、声明IP地址和端口号 txtIP和txtPort是前台的控件
IPAddress iPAddress = IPAddress.Parse(txtIP.Text);
int port=int.Parse(txtPort.text);
3、绑定端口
socket.Bind(iPEndPoint);
4、开启侦听 参数是指可以连接的客户端数量
socket.Listen(10);
5、接收客户端连接
socket.Accept();
这里需要注意,Accept()会阻塞线程,直到连接上客户端。如果放在主线程中,会阻塞前台操作。需要创建一个新的线程。Accept()返回一个socket,客户端连接上之后,服务端自动生成一个socket和连接的客端通信。连接成功后,向客户端发送“连接成功!”。
Thread thread = new Thread(() =>
{
while (true)
{
Socket proxSocket= socket.Accept();
proxSocket.Send(Encoding.Default.GetBytes("连接成功!"));
}
});
thread.Start();
使用友善串口调试助手测试。
启动服务器: