仿腾讯会议项目开发——网络嵌入

发布于:2025-04-21 ⋅ 阅读:(65) ⋅ 点赞:(0)

目录

1、引入网络头文件

2、声明父类指针

3、在控制类源文件内创建m_pClient网络对象

4、使用m_pClient调用OpenNet函数,OpenNet函数需要传入参数

5、连接来信息了的信号和槽函数

6、在Ckernel.h写出来信息的网络信息处理的函数

7、因为所有的网络处理都用类似的函数,因此在控制类的头文件内写出协议映射表

8、创建一个自定义的类型PFUN ,一个指向 Ckernel 类成员函数的指针

9、使用刚才自定义的类型,声明协议映射表

10、在控制类头文件内声明设置协议映射关系的槽函数

11、在Ckernel的构造函数内调用setNetPackMap函数

12、在源文件内定义设置协议映射关系的槽函数setNetPackMap,先清空

13、在头文件内声明登录回复和注册回复的槽函数

14、定义一个宏

15、使用刚才定义的宏在setNetPackMap函数内将槽函数绑定

16、将网络信息处理的函数在源文件内实现

17、创建一个新界面

18、完成登录的界面布局

19、添加点击提交的函数,发送信号

20、在控制类头文件内添加登录界面对象 

21、在控制类源文件内添加登录界面对象,并进行点击的槽和函数绑定

22、在控制类源文件内完成登录请求的槽函数


1、引入网络头文件

#include"TcpClientMediator.h"

2、声明父类指针

INetMediator* m_pClient;

3、在控制类源文件内创建m_pClient网络对象

m_pClient=new TcpClientMediator();

4、使用m_pClient调用OpenNet函数,OpenNet函数需要传入参数

在packdef.h内创建 端口号和ip地址

5、连接来信息了的信号和槽函数

connect(m_pClient,SIGNAL(SIG_ReadyData(uint,char*,int)),

            this,SLOT(slot_dealData(uint,char*,int));

6、在Ckernel.h写出来信息的网络信息处理的函数

第一个参数——套接字

二      ——缓冲区

三      ——字符长度

void slot_dealData(uint sock,char* buf,int nlen);

7、因为所有的网络处理都用类似的函数,因此在控制类的头文件内写出协议映射表

8、创建一个自定义的类型PFUN ,一个指向 Ckernel 类成员函数的指针

typedef void (Ckernel::*PFUN)(uint sock,char* buf,int nlen);

9、使用刚才自定义的类型,声明协议映射表

PFUN m_netPackMap[_DEF_PACK_COUNT];

10、在控制类头文件内声明设置协议映射关系的槽函数

void setNetPackMap();

11、在Ckernel的构造函数内调用setNetPackMap函数

12、在源文件内定义设置协议映射关系的槽函数setNetPackMap,先清空

memset(m_netPackMap,0,sizeof(m_netPackMap));

13、在头文件内声明登录回复和注册回复的槽函数

源文件中定义

14、定义一个宏

#define NetPackMap(a) m_netPackMap[a-_DEF_PACK_BASE]

15、使用刚才定义的宏在setNetPackMap函数内将槽函数绑定

16、将网络信息处理的函数在源文件内实现

17、创建一个新界面

18、完成登录的界面布局

    19、添加点击提交的函数,发送信号

    在loginDialog的头文件内添加声明登录的信号

    在源文件内完成函数

    20、在控制类头文件内添加登录界面对象 

      在头文件内添加槽

      21、在控制类源文件内添加登录界面对象,并进行点击的槽和函数绑定

      22、在控制类源文件内完成登录请求的槽函数