对于许多初学者来说,网络通信程序的开发,普遍的一个现象就是觉得难以入手。许多概念,诸如:同步(Sync)/异步(Async),阻塞(Block)/非阻塞(Unblock)等,初学者往往迷惑不清,只知其所以而不知起所以然。
/*各种网络异步事件的处理函数*/ BOOL InitNetwork(); file://初始化网络函数 //初始化TCP协议 //创建服务器端套接字 //绑定到本地一个端口上 下面定义网络异步事件的回调函数 switch(iEvent) void CSocketSeverDlg::OnSend(SOCET CurSock) void CSocketSeverDlg::OnReceive(SOCET CurSock) 同步服务器套接字挂起应用程序的执行,直到套接字上接收到连接请求。同步服务器套接字不适用于在操作中大量使用网络的应用程序,但它们可能适用于简单的网络应用程序。使用 Bind 和 Listen 方法设置 Socket 以在终结点上侦听之后,Socket 就可以随时使用 Accept 方法接受传入的连接请求了。应用程序被挂起,直到调用 Accept 方法时接收到连接请求。 接收到连接请求时,Accept 返回一个与连接客户端关联的新 Socket 实例。下面的示例读取客户端数据,在控制台上显示该数据,然后将该数据回显到客户端。Socket 不指定任何消息协议,因此字符串“<EOF>”标记消息数据的结尾。它假定一个名为 listener 的 Socket 已初始化,并绑定到一个终结点。 Console.WriteLine("Waiting for a connection..."); while (true) { Console.WriteLine( "Text received : {0}", data); byte[] msg = Encoding.ASCII.GetBytes(data); msdn官方说明:http://msdn2.microsoft.com/zh-cn/library/80z2essb(VS.80).aspx |
异步非阻塞套接字Winsock开发网络通信程序的经典入门
最新推荐文章于 2019-03-14 19:06:37 发布
异步非阻塞套接字Winsock开发网络通信程序的经典入门
2007年08月29日 星期三 08:27