代码下载:
https://download.csdn.net/download/qq_42660681/11826538
程序简介
个人的暑假实训是学习QT编辑器的使用方法。帮助文档中使用了来自老师的帮助文档的内容。
编辑器:Qt Creator 5.6.3版本
编译器:MinGW 4.9.2 32位
调试环境:Windows 10 企业版
程序运行样例
程序截图
需要用到的相关理论
1.基于Tcp-ip协议的网络连接相关知识。利用QT自带的TcpSocket和TcpServer实现网络连接。
2.使用QT的QDatabase库实现在服务器端用数据库保存所有用户信息
3.利用QT的QDatastream库和网络连接实现数据流的发送。
4.利用枚举产生一系列操作码,实现通过特定操作码调用不同功能。
5.利用QT的widget(包括QTablewidget,QPushbutton,QLabel)实现对用户信息的录入、控制用户的操作顺序、实现服务器的信息显示。通过指针传递来实现非主窗口类控制主窗口的ui控件。
6.使用QMessageBox库实现多窗口的信息提示。
7.QT的信号与槽机制实现从单一Socket到Server中全体Socket的信息交互。实现定向发包,减少对服务器的消耗。
8.重载TcpServer,QDatastream等的内部函数(例如incommingconnection函数,重载输入输出流运算符)实现对信息的控制。
9.通过动态内存分配的方式创建游戏房间,减少对服务器的消耗。
功能需求
总体部分:
1.服务器的建立和客户端的连接
2.数据流实现数据交互
3.通过map绑定与操作数对应的函数指针来实现对数据流的反应。
服务器部分:
4.能接受客户端的请求,返回相应的数据。
服务器接受用户的注册请求,在数据库中添加一条新用户,并返回添加后的用户信息。
5.服务器接受用户的登录请求,将用户信息绑定到一个连接,可以根据用户信息查找连接并向指定的客户端发送消息。
6.根据不