C#网络编程socket使用总结

Socket通信原理,C#实现

一.服务器端:

1.      创建Socket,绑定本机IP与一固定端口:

IPEndPoint localPoint = new IPEndPoint(ipAddr,port);

Socket socket = new Socket(AddressFamily.InterNetwork,SocketType.Stream, ProtocolType.Tcp);

socket.Bind(localPoint);

2.      开始监听:

socket.Listen(10);

3.      创建线程接收客户端的请求,一旦接收请求,则创建一代理Socket来处理与客户端的通信,这样做的好处是监听端口始终只起监听作用,用于接收客户端的其他请求:

while (true)

    {

         proxySocket= socket.Accept();

         …

}

4.       使用此代理Socket来进行与客户端的通信。

proxySocket.Receive();

proxySocket.Send();

二.客户端:

1.      创建Socket,连接到远程服务器,注意IP与端口为远程服务器端的IP和端口:

IPEndPoint remotePoint = new IPEndPoint(ip,port);

Socket socket = new Socket(AddressFamily.InterNetwork,SocketType.Stream, ProtocolType.Tcp);

socket.Connect(remotePoint);

2.      连接成功后,用此Socket与服务器端通信。

三.原理图

原文地址:https://www.cnblogs.com/jietian331/p/3005776.html