最近点对实验报告

2023-04-11 版权声明 我要投稿

报告在写作方面,是有着极为复杂、详细的写作技巧,很多朋友对报告写作流程与技巧,并不是很了解,以下是小编收集整理的《最近点对实验报告》,欢迎阅读,希望大家能够喜欢。

第1篇:最近点对实验报告

点对点通信实验步骤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()

上一篇:开学典礼副校长发言稿下一篇:篮球比赛开幕式方案