专业IM即时通讯软件开发,值得信赖!

一份陈年老源码-封尘已久的即时通讯源码

即时通讯软件开发 云聊IM 1160℃

前言

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

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

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

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

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

客户端运行截图

涉及到的技术

网络通讯

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

DOC里有之前画的流程图,用Diagram Designer打开

界面互动

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

RTF文本处理

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

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

http://119.10.29.11:8081/SinoTalk.rar

项目说明

请勿将此程序用于商业用途,以免产生不必要的纠纷,仅供学习,参考

开发时间2010年,比较久远,有很多问题

当前项目客户端编译运行即可连上测试环境服务器(随后可能关闭)

测试服务器地址 http://119.10.29.11:8081/ 账号由此注册

项目划分

  1. CLient 客户端
  2. Comm 公共方法
  3. DuoDuo 启动程序
  4. IpcChannelObj 服务控制台通讯对象
  5. Server 服务主程序
  6. SinoTalkServerConsole 服务控制台
  7. SinoTalkService 服务程序(在参数配置主程序路径)
  8. SinoTalkWeb 网站接口(为避免纠纷,未公开,请参考网上示例)
  9. Update 升级程序
  10. ServerSetup 服务安装程序
  11. 数据库(为避免纠纷,未公开)

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

端口地址更改

  1. 服务器端口
  2. SinoTalk.Comm.P2PConsts.SERVER_UDP_PORT=2280
  3. 客户端服务器地址绑定
  4. SinoTalk.Client.ClientConsts._SERVER_ADDRESS=”119.10.29.11″

Activex控件注册

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

源码下载

百度云:http://pan.baidu.com/s/1kTst3H9

喜欢 (0)
仿微信聊天软件开发
点击这里给我发消息