公开封尘已久的即时通讯源码(转)

 

看到最近有人研究IM,把以前的东西翻出来了,供想学习这方面的研究研究

通讯协议UDP,聊天方式点对点(P2P)

此项目简单实现了早期QQ的基本功能

  1. 文字聊天
  2. 表情,图片发送
  3. 发送离线消息,图片
  4. 在线/离线,文件传送
  5. 上传自定义头像
  6. 群功能
  7. 语音、视频聊天
  8. 天气预报
  9. 自定义选项卡
  10. 截图功能

理论上功能是实现了,但是在NAT穿透上有问题,所以P2P有时不能成功,所以在外网,只是一个玩具而已

客户端运行截图

涉及到的技术

网络通讯

  1. 消息序列化,加密
  2. 数据传输 协议定义,消息分块发送,消息完整性判断和重复发送,SOKET5代理
  3. NAT穿透,俗称打洞
  4. 消息缓存/转发

界面互动

  1. 窗体互动
  2. 界面绘制
  3. 换肤

RTF文本处理

  1. 字体大小颜色控制
  2. RTF图片提取发送

编译好的客户端,能连上测试服务器,需要先注册账号

http://119.10.29.11:8081/SinoTalk.rar

有不明白的欢迎留言讨论

项目说明

请勿将此程序用于商业用途,以免产生不必要的纠纷,仅供学习,参考 开发时间2010年,比较久远,有很多问题 请关注我的新项目CRL快速开发框架 http://www.cnblogs.com/hubro/p/4288047.html

当前项目客户端编译运行即可连上测试环境服务器(随后可能关闭) 测试服务器地址 http://119.10.29.11:8081/ 账号由此注册 项目划分   CLient 客户端   Comm 公共方法   DuoDuo 启动程序   IpcChannelObj 服务控制台通讯对象   Server 服务主程序   SinoTalkServerConsole 服务控制台   SinoTalkService 服务程序(在参数配置主程序路径)   SinoTalkWeb 网站接口(为避免纠纷,未公开,请参考网上示例)   Update 升级程序   ServerSetup 服务安装程序   数据库(为避免纠纷,未公开)

此项目原始版本为较老的.NET2.0/3.5开发测试时按实际情况调整生成环境

端口地址更改   服务器端口   SinoTalk.Comm.P2PConsts.SERVER_UDP_PORT=2280   客户端服务器地址绑定   SinoTalk.Client.ClientConsts._SERVER_ADDRESS="119.10.29.11"

Activex控件注册   语音和视频为Activex控制,需要先注册才能编译通过   DEBUG目录有注册文件   regsvr32  "aocx2.ocx"   regsvr32  "Vocx.ocx"   regsvr32  "ImageOle.dll"

项目下载地址: 链接: http://pan.baidu.com/s/1kTst3H9  (重新修改了)


相关推荐

http://www.cnblogs.com/hubro/p/4316315.html

时间: 2024-10-30 05:14:40

公开封尘已久的即时通讯源码(转)的相关文章

javascript 验证汉字-前辈:用js验证是否输入的是,某个已定汉字,要求源码中不出现该汉字,请问怎样用utf-8码写入?

问题描述 前辈:用js验证是否输入的是,某个已定汉字,要求源码中不出现该汉字,请问怎样用utf-8码写入? <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" lang=&quo

android-使用环信SDK开发即时通信功能(附源码下载)_Android

最近项目中集成即时聊天功能,挑来拣去,最终选择环信SDK来进行开发,选择环信的主要原因是接口方便.简洁,说明文档清晰易懂.文档有Android.iOS.和后台服务器端,还是非常全的.  环信官网:http://www.easemob.com/ 本篇文章目的主要在于说明环信Demo如何实现即时通信的.我在集成环信SDK到我们自己开发的app之前,研究了一下环信demo的代码,看了两三天的样子,基本搞清楚来龙去脉,但是只是清楚来龙去脉,要说到里面的细节可能得深一步研究,但是这就够了,已经可以把dem

王志东携Lava-Lava要革即时通讯的命

今天,北京点击科技有限公司"新产品"新联盟"新生态"战略发布会在京召开,正式发布了其Lava-Lava平台战略,同时发布了基于该平台的两款即时通讯产品--Lava-Lava个人版和Lava-Lava企业版(即竞开通讯之星,GK-Express).非著名IT评论人刘兴亮应邀参加.由于会场就在公司附近,步行过去只要几分钟,因此破天荒地准时参加. 先闲扯两句,今天有两个发现:一是王志东的肚子又大了一圈,二是点击科技美女多多,比如吴禅,比如王亮. 其实对于Lava-Lava

微信等即时通讯基础技术发明者:专利已秘密转让给腾讯

移动即通基础技术最早发明者自我曝光 专利已秘密转让腾讯"确实是Facebook以190亿美金收购WhatsApp这件事让我想说出这个历史故事."北京时间3月15日晚,上海,身为芝加哥伊利诺伊大学MBA学生的赵建文给记者讲述了一个与成功.财富擦肩而过的失落故事.如今在全球炙手可热的微信.WhatsApp.Line.KIK,都用到一种基于通讯录的移动即时通讯应用的根本性技术基础,而此人早在2006年就发明了这个技术,并向中国知识产权局申请了专利<一种基于或囊括手机电话本的即时通讯方法

谷歌推“谷歌波浪” 称电邮和即时通讯已到尽头

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 据全球搜索巨头谷歌公司表示,电子邮件和即时通讯的路即将走到尽头. 谷歌公司即将推出一款据说可以使人们在进行实时沟通时更加方便的名为"谷歌波浪"的新工具.据谷歌公司的高管拉斯.拉斯姆森在一篇介绍性博文中表示,"谷歌波浪"是一款针对当前的计算机功能进行了优化的互联网应用软件. 据拉斯姆森表示:"我

服务器-关于安卓QQ等即时通讯是怎么知道用户A是怎么发给用户B的

问题描述 关于安卓QQ等即时通讯是怎么知道用户A是怎么发给用户B的 我打算写一个即时通讯app,qq是点对点即时通讯的,但是接收方不在线的话,服务器就要代理通讯了,但是怎么判断用户A是发给用户B,而不是发给用户C? 解决方案 和写信一样,消息放在信封上,信封上有寄件人收件人. 这里的信封就是qq协议中的报文头.收件人寄件人就是用户名.当然qq协议是加密的,而且也不公开. 解决方案二: 我知道你在问什么,通过推送可以实现聊天功能,推送可以指定一个id发送消息或者tag. 至于推送是怎么查找手机发送

即时通讯危险揭秘 网上聊天五大安全危机应对

"我MSN上的好友账户信息是怎么被公开呢?我不记得我开过什么朋友圈功能啊,该怎么关呢?"读者马先生于上周二发来邮件咨询道.而他只是我报关于MSN"泄密"联系人信息报道刊发后,数十名就同一问题进行咨询的读者之一. 长期以来,即时通讯(IM)用户就对自身隐私安全存有诸多担忧.而这一MSN"泄密"风波的发生,更是触发了IM用户们极其脆弱的隐私安全神经.就在IM应用高速发展的今天,针对这一领域的安全攻击破坏力也随之增强. 最新进展 记者从微软MSN相关公

阿里今天正式推出了酝酿已久的类微信产品 来往

阿里今天正式推出了酝酿已久的类微信产品"来往",作为上任之后的首秀,陆兆禧之前曾经在阿里内部悬赏10万,号召阿里员工,以及亲朋好友之间相互使用来往.不过和两年前马云推出的和Google+类似的"来往"不同,新版的"来往"由陆兆禧亲自带队,从之前的社交圈子产品演变为即时通讯应用,矛头直指微信. 从功能上看,此次发布的"来往"和微信的功能基本类似,支持用户间发送文字.语音.图片和表情信息,支持群组聊天(支持500人的大群),内置朋

即时通讯功能成App社交化关键

大姨吗从一款工具应用,通过社交化成功转型,成为倍受资本热捧的女性健康应用,显示了App社交化的光明前景.其他App开发者是否也可以借鉴这个路径,实现屌丝逆袭呢? 即时通讯功能成App社交化关键 6月初,女性健康应用大姨吗成功C轮融资3000万美元,这让同为移动开发者的Alexa大受鼓舞.但更让Alexa兴奋的是,大姨吗从最初的一款女性经期App,通过社交化成功转型为女性健康社区,实现屌丝逆袭,获得了资本热捧. Alexa表示,大姨吗的成功很大程度归功于其社交化转型,"我们也正在尝试在App中加入