前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >公开封尘已久的即时通讯源码

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

作者头像
跟着阿笨一起玩NET
发布2018-09-20 11:23:29
1.5K0
发布2018-09-20 11:23:29
举报

看到最近有人研究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年,比较久远,有很多问题 请关注我的新项目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  (重新修改了)

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2015-03-05 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 涉及到的技术
    • 网络通讯
      • 界面互动
        • RTF文本处理
        相关产品与服务
        测试服务
        测试服务 WeTest 包括标准兼容测试、专家兼容测试、手游安全测试、远程调试等多款产品,服务于海量腾讯精品游戏,涵盖兼容测试、压力测试、性能测试、安全测试、远程调试等多个方向,立体化安全防护体系,保卫您的信息安全。
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档