报告在写作方面,是有着极为复杂、详细的写作技巧,很多朋友对报告写作流程与技巧,并不是很了解,以下是小编收集整理的《最近点对实验报告》,欢迎阅读,希望大家能够喜欢。
点对点通信实验步骤2017
基于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()
推荐阅读:
最近食品安全事件05-25
最近0年装饰公司工作年终总结10-29
最近的你,是我最深的爱抒情散文10-23
微机实验实验报告11-04
实验44实验报告图文06-16
大物实验实验报告06-26
自控实验二实验报告07-16
模电综合实验实验报告05-25
大物实验21实验报告10-18
java实验报告实验2答案06-10