用MFC实现消息的发送和接收含服务器.docx
《用MFC实现消息的发送和接收含服务器.docx》由会员分享,可在线阅读,更多相关《用MFC实现消息的发送和接收含服务器.docx(34页珍藏版)》请在冰豆网上搜索。
![用MFC实现消息的发送和接收含服务器.docx](https://file1.bdocx.com/fileroot1/2022-10/19/025bd9ed-f9ab-4abe-9731-a5a25abcb13e/025bd9ed-f9ab-4abe-9731-a5a25abcb13e1.gif)
用MFC实现消息的发送和接收含服务器
新建WClient工程
基于对话框
OK,直接Finish
界面制作
我们需要三个按钮
移除它们
接下来添加六个静态文本三个编辑框两个列表控件,最后我们有:
接下来设置控件文本,控件ID,设置成员变量,排布界面
调整:
-设置文本居右
横排变竖排:
Centervertically反选中。
拉长两个静态文本控件
调整两个ListBox同样大小MakeSameSize
空间ID设置:
成员变量设置:
你可以使用Ctrl+W快捷键跳出该窗口
点OK
点OK
点OK
点OK
点OK
点OK
点OK
点OK
点OK
点OK
点OK
现在客户端界面已经准备好了,接下来就是服务器了过程略:
现在所有界面准备完毕,接下来为两个程序添加对应的继承CSocket类的类
在WClient中:
Ctrl+W–》AddClass-》NewClass
我们添加了什么呢?
在WClient中:
Ctrl+W–》AddClass-》NewClass
然后呢
接下来为两个类添加虚函数
CWClientSocket调出右键菜单
AddHandler,我们将所有的都添加进去。
虽然不是所有的都用的上,但有总比没有好
CWServerSocket
接下来我们可以看看CPPH文件中的变化
头文件(.h)
源文件(.cpp)
接下来添加代码:
首先,服务器端需要响应客户端连接接受客户端发送的数据,向客户端发送数据,管理Socket套接字。
则服务器端需要对OnAccept、OnRecieve、OnClose事件进行响应处理。
在CServerDlg.h中定义窗体响应Socket类对应事件的响应函数
定义Socket对象,以及CSocketFile,CArchive对象(有关说明查阅课本169页)
在CServerDlg.h中包含我们定义的CWServerSocket对象的变量用于监听端口,以及与客户端(一个)进行通信
添加CWServerSocket.h头文件
定义对象
在CServerSocket.h中定义用于存储窗体变量的指针,和初始化函数。
用于在异步调用中访问窗体
在CServerSocket.h中定义窗体指针
初始化函数
在CServerDlg.cpp和CServerSocket.cpp中分别定义函数实现
在CWserverDlg的OnInitDialog函数里添加如下初始语句
各函数实现
当客户端连接过来时,
接受到信息时
套接字被关闭时
双击界面按钮,添加按钮响应事件
在WServerDlg.h中增加SetButtons函数定义
添加,代码
SetButtons函数为控制界面按钮联动。
设置个控件显隐状态
在WServerSocket.cpp中添加
在CClientDlg.h中
添加头文件引用
定义变量
定义函数
在CWClientDlg.cpp文件中实现
该函数里添加初始化代码
实现各函数:
在CClientSocket.h中
引入头文件
定义函数
定义变量
在CCLientSocket.cpp中
引入头文件
定义代码,函数实现
两个项目编译运行