一旦创建 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();
在使用Bind监听时,可以使用像微软的程序一样,采用一个无限循环,默认情况下是阻塞模式,只要没有连接,程序(线程)就是“停止”在那里,有连接时,马上就会调用Accept方法,另一端通信了。