一旦创建 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();
解决方案 »
- WPF如何获取Template里面的一个控件的宽度?在线等!来者给分~~~~~~~~~~~~~~~~
- ===========Mongodb C# 驱动的问题 ============
- TreeView 中ShowCheckBoxes="All" 复选框事件怎么写!
- 怎么用程序去点网页上的某个按钮
- 菜鸟提问c#findwindow问题
- 一个比较郁闷的问题~~大家帮忙看一看~THANKS~
- 将Excel用户界面嵌入到自己的Windows Form 中,导入工具条ExecWB出错,还有就是不用导入工具条能程序实现excel保存吗?
- 请教C#中的一个SQL语句
- 请教分拣歌词文件(处理中文排序)
- SQL连接问题
- 如何定义、引发ListBox中ListItem的双击事件
- 我对C#的深刻看法有如同下面这些文字.大家觉得跟我一样的感觉,就进来顶一下.
在使用Bind监听时,可以使用像微软的程序一样,采用一个无限循环,默认情况下是阻塞模式,只要没有连接,程序(线程)就是“停止”在那里,有连接时,马上就会调用Accept方法,另一端通信了。