Winsock网络通信
这里我希望和大家探讨一下Winsock网上通信的程序,由于因特网的普及,越来越多的程序具有了在网上与其他程序通信的功能.其实所有这些功能都建立在Winsock接口之上,应用程序执行大多数网络通信的基本对象称为套接口或软插口(Socket).使用MFC Winsocket类添加网络通信功能就相对容易些.基本类CAsyncSocket提供全面的由事件驱动的Socket通信能力,你可以创建自己派生的Socket类来捕获和响应每个事件.我建议您先把CAsyncSocket类熟悉一遍.这里给出一个程序通信的例子:首先CAsyncSocket类中有一些事件通知函数可以调用,
OnAccept
监听方调用此函数表对方的连接请求正等待被接受
OnClose
表示连接的另一端程序已关闭.
OnConnect
表示与另一端程序的连接已完成.
OnOutofBandData
表示收到带外数据
OnReceive
表示通过Socket连接的数据已收到
OnSend
表示Socket已准备好发送数据
本例之所以要派生一个类CMySocket,是希望通过覆盖以上的通知函数来捕获激活的事件.在通过父对话框的指针来执行相应的操作.具体的操作可见本站下载的代码.编译后,您可以启动程序的两份拷贝,一个在Server端,一个在Client端,先在Server端设置监听模式,再在Client端连接,这两个程序就可互发信息了,看看像不像ICQ!
作者:朱明 未经许可 不得转载