P2P即时通讯源码(曾在微软设计大赛中获奖)

上传者: lijin118 | 上传时间: 2021-04-08 10:13:05 | 文件大小: 1.60MB | 文件类型: RAR
曾在微软设计大赛中获奖。是一个局域网内的通讯工具,有文字聊天、语音聊天、文件传输、信使服务、邮件检测等主要功能。 本压缩文件内共包含四部分内容: 第一:本说明文件; 第二:两个可执行文件(LanChat(NT).exe只能在NT下使用,因为其中包含了网络访问检测的部分;LanChat(98).exe不包含网络访问检测部分,故可以在98及NT两种环境中使用); 第三:源代码,都放在子目录“new_EMU_RMCS0.61(微软大赛)”下; 第四:有关软件使用说明的一个 hlp 文件; 本软件初衷是为了不在同一楼层却在同一个局域网内的两个用户联系方便而开发的,随着后来各种需要的增加,新增加了一些别的功能,整个软件的使用及外观稍微模仿了QQ的一些特点; 本软件用户之间的沟通不是通过服务器转发的方式来进行的,而是通过广播的方式宣告自己以及查询网上还有别的哪些用户,当找到了相应的用户后,就采用点对点通信的方式来进行文字数据的发送,数据包基于UDP模式,不采用TCP是因为局域网内网络状况较好,一般不会丢包,而且UDP方式简单而且快捷。目前,软件的系统数据发送和聊天文字等沟通数据的发送都在一个端口内,通过识别特定字符串的方式来分开做相应处理(比如所有的系统消息数据都是在串的前后添加lsm而构成,如“系统查询是否存在高版本程序”的命令为 lsmCheckVersionlsm); 进入时的帐户口令保存在注册表中,通过MD5算法加密,密钥串中包含了“用户的帐户信息+特定字符串”的方式,为破解增加了一定的难度;在语音聊天里(即通过声卡和麦克风的语音聊天),通过动态huffman编码来压缩传送的语音数据,使得语音聊天的大量语音数据能够及时、准确的传送而不会造成网络拥塞,动态huffman编码已经调通,而且由于是动态压缩,故huffman编码采用的是一遍扫描而不是两遍扫描数据的方式,所以可以采取边压缩边传送的方式,而解压也可以边解压边播放,方便了语音的实现。数据的压缩比根据数据特点的不同而有差异,相对于文本文件和语音数据文件(语音数据一般都包含大量相同的ASCII值的数据)来说一般压缩为原来大小的1/2、1/3都没有问题,不过由于时间等一些原因,在程序中还未能加上传送的语音数据先经过huffman编码这一过程,这点比较遗憾,不过即使不加也已经能够实现语音聊天而不会产生时延,如果加上压缩,相信互相的聊天通信对于网络的压力能够大大减轻,而且声音的采样频率也可以提高,使得声音的回放更加逼真; 另外,本程序还包含邮件检测(通过RFC标准文件中规定的通信协议)、简单邮件发送、信使服务、定时提醒、定时关机等功能,其中,检测邮件、定时提醒、语音聊天等功能的实现是通过分别启动一个线程的方式,这样在使用这些功能时就不会影响到主程序的响应速度,而且相互之间也不会有影响; 本程序还初步试验了对于网络访问本机检测的相关函数,并添加了“网络访问检测报告”功能(LanChat(NT).exe就可实现此功能),不过由于程序重点不在此,故实现的东西只是一个初步的试验,实用性不大。

文件下载

资源详情

[{"title":"( 141 个子文件 1.60MB ) P2P即时通讯源码(曾在微软设计大赛中获奖)","children":[{"title":"LanChat(98).exe <span style='color:#111;'> 532.00KB </span>","children":null,"spread":false},{"title":"LANCHAT.GID <span style='color:#111;'> 8.43KB </span>","children":null,"spread":false},{"title":"DialogLogon.h <span style='color:#111;'> 1.37KB </span>","children":null,"spread":false},{"title":"PropPageHotkey.h <span style='color:#111;'> 1.59KB </span>","children":null,"spread":false},{"title":"PropPageOptionPersonInfo.h <span style='color:#111;'> 1.52KB </span>","children":null,"spread":false},{"title":"......","children":null,"spread":false},{"title":"<span style='color:steelblue;'>文件过多,未全部展示</span>","children":null,"spread":false}],"spread":true}]

评论信息

  • xiongningwoaini :
    不是很好用啊
    2014-04-18
  • xiongningwoaini :
    不是很好用啊
    2014-04-18
  • xiaosq2000 :
    c++版本的,可以直接运行,实现了基本的通讯功能,谢谢分享
    2014-04-16
  • xiaosq2000 :
    c++版本的,可以直接运行,实现了基本的通讯功能,谢谢分享
    2014-04-16
  • ltmmmj :
    谢谢分享,正在研究 ……
    2014-04-14
  • ltmmmj :
    谢谢分享,正在研究 ……
    2014-04-14
  • lbwlfw :
    可以直接运行,实现了基本的通讯功能
    2014-03-05
  • lbwlfw :
    可以直接运行,实现了基本的通讯功能
    2014-03-05
  • pengmingchao :
    能运行,但是不是我想要的
    2014-01-10
  • pengmingchao426 :
    能运行,但是不是我想要的
    2014-01-10
  • smfkg :
    能运行,有的地方看着不是很明白
    2014-01-09
  • u010524713 :
    可以直接运行,实现了基本的通讯功能,界面简单,多了注释会更好
    2013-12-05
  • wo28898273 :
    代码可行,不太明白怎么使用
    2013-07-31
  • FMX-HALO :
    正在研究C++如何实现P2P以及实时流传输,这份代码可以运行,可以研究。
    2013-07-23
  • janylilala :
    原来是c++版本的,都不说清楚。
    2013-07-17

免责申明

【只为小站】的资源来自网友分享,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,【只为小站】 无法对用户传输的作品、信息、内容的权属或合法性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论 【只为小站】 经营者是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。
本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二条之规定,若资源存在侵权或相关问题请联系本站客服人员,zhiweidada#qq.com,请把#换成@,本站将给予最大的支持与配合,做到及时反馈和处理。关于更多版权及免责申明参见 版权及免责申明