CAsyncSocket类的应用

来源:互联网 发布:asp.net抽奖系统源码 编辑:程序博客网 时间:2024/05/19 17:56

开发环境:VS2008

基于对话框的MFC项目,1]取消选择界面下方的“使用Unicode库”复选框,主要是程序兼容性考虑,避免字符串处理的麻烦;2]勾选“Windows套接字”。

一)客户端的编写

1)添加继承自CAsyncSocket类的CClientSocket类

2)在ClientSocket.cpp中#include”###Dlg.h“;在###Dlg.h文件中#include"ClientSocket.h",并且创建类对象成员变量CClientSocket m_ClientSocket;

3)绘制界面,为控件关联变量;IP地址输入框使用IP地址控件

4)相关按钮点击事件

点击连接按钮所触发的事件:调用m_ClientSocket的Create方法创建客户端Socket;调用Connect方法发起连接请求,参数为从界面获取的IP和端口。

点击断开按钮:调用Close方法关闭客户端Socket,在界面显示提示断开信息

发送按钮:调用Send方法发送信息

5)重写CClientSocket类的某些方法

重写OnConnect:判断连接是否成功并且显示相关提示信息

二)服务器端的编写

1)添加两个继承自CAsyncSocket类的类CListenSocket和CServerSocket

2)添加相关头文件声明并且创建类对象成员变量m_ListenSocket,m_ServerSocket

3)绘制界面

4)按钮事件

开始监听:m_ListenSocket的Create方法创建服务端监听Socket;调用Listen方法开始监听

停止监听:m_ListenSocket的Close方法

5)重写CListenSocket类的方法

OnAccept方法:创建一个m_ServerSocket ,调用Accept方法

Accept(((###Dlg*)(AfxGetApp()->m_pMainWnd))->m_ServerSocket)

显示相关提示信息

6)重写CServerSocket类的方法

OnReceive方法:调用Receive方法接受信息并显示

OnClose方法:显示相关提示信息,调用Close方法

至此,基本功能大体完成


原创粉丝点击