聊天程序具体模块实现分析.docVIP

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 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_

文档评论(0)

guan_son + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档