基于winsock的局域网通信系统的开发

基于winsock的局域网通信系统的开发

ID:12073614

大小:377.09 KB

页数:41页

时间:2018-07-15

基于winsock的局域网通信系统的开发_第1页
基于winsock的局域网通信系统的开发_第2页
基于winsock的局域网通信系统的开发_第3页
基于winsock的局域网通信系统的开发_第4页
基于winsock的局域网通信系统的开发_第5页
资源描述:

《基于winsock的局域网通信系统的开发》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、重庆理工大学课程设计课程面向对象程序设计I题目基于WinSock的局域网通信系统的开发院系名称计算机科学与工程学院班级l学生姓名l学号l指导教师l评阅教师l时间2012年5月28日-6月1日重庆理工大学课程设计1系统分析1.1功能模块分析1.1.1模块一消息实体类的实现:主要用来封装和存储在网络上传送消息(消息块),除此之外还主要负责管理消息块。它主要记录的信息包括:消息源地址、消息源端口、消息长度、消息头、消息块(消息数据区)、和游标()由于记录读写消息块时的位置;该类主要提供的操作包括:读写消息头操作、读

2、写一个字节数据操作、读写两个字节数据操作、读写四个字节数据操作、读写指定字节的数据操作、提供消息块地址操作、游标操作、消息头操作。在线用户信息类的实现:主要工作为记录和管理当前在线的所有用户,其中在线用户的信息包括:用户号、外网地址、端口号、在线状态和密码;同时该类需要提供的操作包括:赋值操作、判断两个用户是否相同的操作、更新用户在线信息的操作。系统的总体结构示意图:数据库主函数:流程图:服务器客户端客户端4重庆理工大学课程设计服务器程序启动读取配置文件成功?是否成功?连接数据库是否是否成功?初始化socke

3、t通信启动接收消息线程启动发送消息线程H?V?输出版本信息输入版本信息是是是输入状态信息S?启动处理消息线程Q?主线程接收键盘输入工作线程退出,主线程退出是是4重庆理工大学课程设计1.1.2模块二数据库用户用户数据库应用系统标准接口数据库管理系统数据库用户管理类的设计(完善服务器消息处理线程)完善服务器消息处理线程中的用户管理类的设计,用户管理类包括用户当前的状态、查询用户的在线信息、设置用户的状态、新增在线的用户、删除在线用户、判断一个用户是否在线、统计在线人数、随机返回在线人数4重庆理工大学课程设计2系统

4、实现2.1模块一实例系统开发前的准备://定义公共头文件#ifndefGLOBAL_DEFINE_H//为了防止重复定义而添加的宏#defineGLOBAL_DEFINE_H//为了防止重复定义而添加的宏//包含一些通用的头文件#include//为了使用sring类#include//标准C++输入输出#include#includeusingnamespacestd;//引入标准C++命名空间#defineMAX_STRING_LE

5、N512//最大的字符串长度#defineDB_SQL_ERROR0//SQL语句执行错误#defineDB_SQL_SUCCESS1//SQL语句正确执行#defineDB_SQL_NO_DATA_FOUND2//没有找到数据#defineMAX_MSG_QUEUE_NUM1000//消息队列最大存放消息数#defineSERVER_ID10000//服务器主动发出的消息头中的id号#endif//GLOBAL_DEFINE_H,为了防止重复定义而添加的宏//定义协议#ifndefIM_PROTOCOL_H

6、#defineIM_PROTOCOL_H//常量定义constunsignedintSYSTEM_UID=10000;//系统主动发送的包里面的uidconstunsignedshortMAX_PACKET_LEN=3000;//最大包的长度constunsignedshortMAX_TEXT_LEN=1500;//最大聊天长度constunsignedshortMAX_CONTACT_NUM=512;//最大的好友数constunsignedcharMAX_NICK_LEN=16;//最大别名长度const

7、unsignedcharMAX_EMAIL_LEN=32;//最大EMAIL长度constunsignedcharMAX_NAME_LEN=16;//最大NAME长度constunsignedcharMAX_COLLEGE_LEN=20;//最大学校长度constunsignedcharMAX_PROFESSION_LEN=64;//最大专业长度constunsignedcharMAX_NOTE_LEN=128;//最大个性说明长度constunsignedcharMAX_TEL_LEN=12;//最大电话号

8、码长度constunsignedcharMAX_PASSWORD_LEN=16;//最大密码长度constunsignedcharMAX_SEND_CONTACT_NUM=8;//每次发送的最大联系人个数,查找好友时用constunsignedcharTIME_LEN=18;//时间占用的字节数//基本数据结构定义//改变字节对齐方式,在网络上传输的结构,必须使用字节对齐#pragmapack(1)

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。