点对点通信实验步骤201(共1篇)
点对点通信实验步骤201 篇1
基于CAsyncSocket类的点对点通信客户机创建流程 通信流程:
1.服务器点击“监听”按钮开始监听,实现Create和Listen函数 2.客户机点击“连接”按钮进行连接,实现Connect函数 3.服务器端接受连接,并触发onAccept事件,实现函数Aeecpt 4.客户端或者服务器端点击“发送”按钮,发送文本框的数据
5.服务器端或者客户端接收数据,OnReveive事件被触发,实现函数Receive 6.客户端或者服务器端点击“断开”,执行函数close,触发另一端的onClose事件
自定义类获取对话框指针的方法
1.先在CMyDialog.cpp中声明一个全局变量CMyDialog* pDlg;2在OnInitDialog()初始化的时候,pDlg = this;3.在自定义类使用的时候,在自定义的类的Cpp中添加extern CMyDialog* pDlg;4.在自定类中使用pDlg->yourfunction(); 编程过程: 客户端:
1、创建MFC应用程序,勾选windows socket选项,如创建工程名为client,自动创建类CClientAPP和CClientDlg,并生成相应的源文件(.cpp)和头文件(.h)。APP代表应用程序。Dlg代表对话框
2、布置界面如下图所示
3、建立类向导,给文本编辑框,列表框定义变量名及类型
4、插入基于CAsyncSocket的类,如取名clientsock,确定后类视图下右键单击类并载入虚函数onReceive(),onClose(),如果是服务器端还要加载onAccept
5、程序的各个类之间建立联系,具体步骤:
5.1对话框界面与套接字建立连接。在ClientDlg.h文件中将“clientsock.h”文件包含进来,使其能够访问套接字,代码为#include” clientsocket.h”;并添加成员变量m_clientsock,代码clientsock m_clientsock;
5.2套接字与对话框界面建立联系。在套接字的源文件clientsock.cpp中,为使其能够访问对话框界面,添加对话框类头文件 #include”ClinetDlg.h”
5.3套接字类能够方便访问对话框的成员.在对话框中定义指向本身的指针,并在套接字类中引用该指针
在clientDlg.Cpp中定义个全局变量,类型为对话框指针
5.4在初始化函数中给指针赋值。将当前对话框赋值给指针变量:
5.5在套接字类中使用对话框指针。在clientsock.cpp文件中引入该全局变量extern CClientDlg * pdlg;
经过以上步骤,类之间的关系,以及对话框指针的设置完成。服务器过程与客户端是一样的,区别在于5.1创建套接字变量时应创建两个,一个用于监听,一个用于服务。
接下来是具体的编程过程
服务器端,如果工程名为server,插入的类名为sersock,且界面如下图,并按上述客户端方式已做基本设置,包括文件互相包含、创建指针机制、建立类向导,载入虚函数。如这些都完成,则开始编程
1、在类视图下,点击CServerDlg右键单击添加函数void myaccept(),void myrecv()和void myclose()
2、双击监听按钮,实现监听:使用updatedata(),Create()和Lisen()
3、双击发送按钮,实现发送:使用Send()
4、当有客户端连接进来时,触发sersock下的onAccept()此函数下执行 pdlg->myaccept();在myaccept()中执行Accept()
5、当有消息进来时,触发sersock下的onreceive()此函数下执行 pdlg->myrecv();在myrecv()中执行Receive()
客户端
6、在类视图下,点击CClientDlg右键单击添加函数 void myrecv()和void myclose()
7、双击连接,实现updatedata(),Create()和Connect()
8、双击发送按钮,实现发送:使用Send()
9、当有消息进来时,触发clientsock下的onreceive()此函数下执行 pdlg->myrecv();在myrecv()中执行Receive()
【点对点通信实验步骤201】推荐阅读:
短波通信装备操作实验报告(通信课程)06-11
串口通信实验报告07-04
《光纤通信》课程实验05-15
移动通信实验二06-02
光纤通信实验六08-16
通信原理实验报告格式08-23
单片机实验三 双机通信实验程序08-29
实验一简单的异步串行通信实验报告06-03
实验教学通信电子线路06-29
光纤通信原理实验指导07-13