- 1、本文档共7页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
聊天程序具体模块实现分析.doc
聊天程序具体模块实现分析
摘要:
随着网络的迅速发展,人们交流的方式也受到网络的巨大影响。越来越多的人们选择了网络聊天,通常聊天程序的主要系统主要包括以下四个模块:聊天程序模块、必威体育官网网址性模块、完整性模块、防抵赖模块。详细介绍了聊天程序的具体模块实现过程。
关键词:
聊天程序;模块;实现
中图分类号:TB
文献标识码:A
文章编号2013
0引言
VC++6.0为Windows环境下的网络考法提供了强大的工具,而其中的Csocket控件就是其中之一。某聊天程序就是利用Csocket控件实现聊天程序的,它使得程序的实现变得相对简单。通常聊天程序分为四大模块:聊天工具模块、必威体育官网网址性模块、完整性模块和防抵赖模块,以下详细介绍了这四大模块的具体实现过程。
1聊天工具模块的实现
某聊天程序是建立在UDP的基础之上的,完成与远程计算机的通信,它通过与现在内部封装了所有的技术细节,并提供访问UDP网络服务的方便途径。只需要设置控件的属性并调用其方法就可以轻易实现与远程计算机的连接,并且可以实现双向的交换数据,而且不需要了解UDP的细节或者调用低级的Winsock API。
此程序运行过程如下:在进行聊天的数据传输前(也就是广播),服务期先运行,等待客户端连接。客户端运行后首先要连接到服务器,输入服务器的IP地址和连接的端口号(本程序默认为:4000)后开始连接。如成功会响应连接成功,反之响应连接失败,而后客户端皆可以后到广播的消息了。在服务器一端,没有以客户连接服务器,服务器上就会监听即提示相关信息,议题是由客户连接。服务器输入要广播的内容后就可以发送了,所有连接到服务器上的客户都会接收到信息。下面分别对于各个类、成员函数和响应函数进行介绍。
CMessag类主要是用于封装消息的,目的是重载Serialize()函数对CArchive对象进行串行化,CArchive对象存储着接收到和将要发送的数据,因此,CMessag类也就是对聊天内容进行封装的,而串行化便于接受和发送的。
自定义类CserverSocket,在ClassView视图中右键单击“ChatDemo Classes”,选择“New Class”,弹出的“New Class”对话框。“Class Type”为MFC class,“Name”为CServerSocket,“Base Class”为CSocket,单击“OK”完成添加。CServerSocket类主要是用于重载CSocket类中OnAccept函数,负责接受客户端的连接。在此函数调用主对话框类的ProcessPendingAccpt函数处理连接请求。
在主对话框类中的几个主要的成员函数:
ProcessPendingAccept()函数:在CSocket子类的OnReceive函数中被调用,起作用是对接收到的对方的连接请求进行处理;
ClearContent()函数:用于清空变量,包括Socket对象和聊天数据;
CloseSessionSocket()函数:用于关闭服务器和客户端会话的Socket连接。
控件的消息响应函数。
2必威体育官网网址性模块的实现
DES程序是通过宏定义可选择小代码模式后者选择大打代码模式。在大代码模式下,程序定义了多个表,从而使DES算法中的很多运算都可以通过查表实现,速度较快,但要求有较多的存储空间;在小代码模式下,可以不查表,从而节省了存储空间,但是速度较慢。DES算法主要是在工程中yxyDES.h和yxyDES.cpp两个文件,下面主要简单介绍下其主要的几个函数。
加密解密时主要用到下面5个函数:
int des_setup(congest unsight char *key,int keylen,int num_rounds,des_key *skey)
函数名:密钥生成函数
功能描述:当密钥生成时,返回值为CRYPT_OK(0),结果保留在skey指向的结构体。结构体中的ck存储加密时用的子密钥,dk_存储解密时用的子密钥。结构体中用的2个32位整数来存储一轮48位密钥,每一个32位整数被分成4个8位,每个8位的第6位存储密钥。如果把48位密钥分成8组,则这8组按存储的顺序从高到低为1、3、5、7、2、4、6、8。这样做是为了加密时可以把扩展和查表运算结合进行。
void des_ecb_ebcrypt(const unsigned char *pt,unsight char *ct,des_key *key)
函数名:加密函数。
功能描述:主要是是对明文进行加密,加密成功时,返回CRYPT_
您可能关注的文档
- 现场材料管理对降低项目材料成本的作用分析.doc
- 现浇GBF空心楼板结构施工技术.doc
- 现浇混凝土构筑物缺陷成因分析与对策.doc
- 现浇混凝土楼板裂缝成因分析及其控制措施探讨.doc
- 现浇混凝土楼板裂缝的危害与控制技术措施.doc
- 现浇混凝土楼面裂缝产生的原因及预防措施.doc
- 现浇混凝土结构楼板裂缝的防治及处理.doc
- 现浇砼衬砌渠道施工技术.doc
- 现浇简支梁满堂支架施工.doc
- 现浇箱梁模板铺设地板革施工.doc
- 一年级数学《认识人民币》24道作图题包含答案【直接打印】.pdf
- 三年级部编人教版语文下学期课文内容填空课堂知识练习题含答案.pdf
- 2024年报告会发言稿范文(2篇).pdf
- 2024年山西省太原市小升初数学全优冲刺应用题自测卷(含答案及精讲).pdf
- 2024年江西省吉安市遂川县中考模拟地理试题(含答案).pdf
- 2023-2024学年北京师范大学附属实验中学高一上学期期中考试化学试题.pdf
- 临床综合习题+参考答案.pdf
- 中国石油大学(华东)22春“石油工程”《岩石力学》作业考核题库高频考点版(参考答案)试题号5.pdf
- 人教版九年级物理全一册《第十五章电流和电路》单元练习题-含有答案.pdf
- 2023-2024年安全教育培训试题及答案(真题汇编).pdf
最近下载
- 省级优秀课件人教版(2019)高中英语必修第一册 Unit 5 Languages Around the World Reading and Thinking.pptx VIP
- Unit1 School life 单元主题阅读、完形及满分范文15篇-2024-2025学年六年级英语上册重难点讲练全攻略(牛津上海版2024).docx
- 19BJ5-1 屋面详图图集.pdf
- 变电运行标准化作业指导书.pdf VIP
- 《流行声乐演唱》课件——1课程介绍、理论知识、演唱特点以及与传统唱法的区别.pptx VIP
- 气候归因周天军.ppt
- 小学科学新教科版一年级上册第二单元第2课《发现生长》教案2(2024秋).doc
- 2022新人教版数学五年级上册第一单元《小数乘法》教学设计.docx
- 标准化病人SP病史采集培训(问诊)教学讲义课件.pptx VIP
- 少儿美术-玉兰花.pptx
文档评论(0)