参考文章:http://www.codeproject.com/KB/IP/LanTalkChat.aspx
要使用客户端连接服务器端,必须首先建立服务器端的监听。步骤如下:
1 建立socket
socket构造函数如下
public Socket ( AddressFamily addressFamily, SocketType socketType, ProtocolType protocolType )
其中三个参数都是枚举值,可以查询MSDN.
建立的代码如下
socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
2 将socket与指定的IP地址和端口绑定
endPoint = new IPEndPoint(IPAddress.Parse(“127.0.0.1”), 65534);
socket.Bind(endPoint);
3 开始监听
socket.Listen(32);
listen方法将socket置于监听状态。在该状态下,当有客户端连接该socket时,socket会将请求的连接按顺序排列到请求队列里面,之后按顺序通过accept方法接收连接。listen方法后的参数表示请求队列的最大数目。
4 接收连接
socket.BeginAccept(new AsyncCallback(HandleIncommingClient), null);
该方法开始一个异步操作来接受一个传入的连接尝试。AsyncCallback是一个委托。