
其中,addressFamily 参数指定 Socket 使用的寻址方案,socketType 参数指定
Socket 的类型,protocolType 参数指定 Socket 使用的协议。
下面的示例语句创建一个 Socket,它可用于在基于 TCP/IP 的网络(如 Internet)
上通讯。
Socket s = new Socket(AddressFamily.InterNetwork, SocketType.Stream,
ProtocolType.Tcp);
若要使用 UDP 而不是 TCP,需要更改协议类型,如下面的示例所示:
Socket s = new Socket(AddressFamily.InterNetwork, SocketType.Dgram,
ProtocolType.Udp);
一旦创建 Socket,在客户端,你将可以通过 Connect 方法连接到指定的服务器,
并通过 Send/SendTo 方法向远程服务器发送数据,而后可以通过
Receive/ReceiveFrom 从服务端接收数据;而在服务器端,你需要使用 Bind 方法绑
定所指定的接口使 Socket 与一个本地终结点相联,并通过 Listen 方法侦听该接口
上的请求,当侦听到用户端的连接时,调用 Accept 完成连接的操作,创建新的 Socket
以处理传入的连接请求。使用完 Socket 后,记住使用 Shutdown 方法禁用 Socket,
并使用 Close 方法关闭 Socket。其间用到的方法/函数有:
Socket.Connect 方法:建立到远程设备的连接
public void Connect(EndPoint remoteEP)(有重载方法)
Socket.Send 方法:从数据中的指示位置开始将数据发送到连接的 Socket。
public int Send(byte[], int, SocketFlags);(有重载方法)
Socket.SendTo 方法 将数据发送到特定终结点。
public int SendTo(byte[], EndPoint);(有重载方法)
Socket.Receive 方法:将数据从连接的 Socket 接收到接收缓冲区的特定位置。
public int Receive(byte[],int,SocketFlags);
Socket.ReceiveFrom 方法:接收数据缓冲区中特定位置的数据并存储终结点。
public int ReceiveFrom(byte[], int, SocketFlags, ref EndPoint);
Socket.Bind 方法:使 Socket 与一个本地终结点相关联:
public void Bind( EndPoint localEP );
Socket.Listen 方法:将 Socket 置于侦听状态。
public void Listen( int backlog );
Socket.Accept 方法:创建新的 Socket 以处理传入的连接请求。
public Socket Accept();
Socket.Shutdown 方法:禁用某 Socket 上的发送和接收
public void Shutdown( SocketShutdown how );
Socket.Close 方法:强制 Socket 连接关闭
public void Close();