公开封尘已久的即时通讯源码_.NET_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > .NET > 公开封尘已久的即时通讯源码

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

 2015/3/5 23:07:58  hubro  程序员俱乐部  我要评论(0)
  • 摘要:看到最近有人研究IM,把以前的东西翻出来了,供想学习这方面的研究研究通讯协议UDP,聊天方式点对点(P2P)此项目简单实现了早期QQ的基本功能文字聊天表情,图片发送发送离线消息,图片在线/离线,文件传送上传自定义头像群功能语音、视频聊天天气预报自定义选项卡截图功能理论上功能是实现了,但是在NAT穿透上有问题,所以P2P有时不能成功,所以在外网,只是一个玩具而已客户端运行截图涉及到的技术网络通讯消息序列化,加密数据传输协议定义,消息分块发送,消息完整性判断和重复发送,SOKET5代理NAT穿透
  • 标签:源码

看到最近有人研究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  (重新修改了)

发表评论
用户名: 匿名