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

转载于:https://www.cnblogs.com/hubro/p/4316315.html

公开封尘已久的即时通讯源码相关推荐

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

    看到最近有人研究IM,把以前的东西翻出来了,供想学习这方面的研究研究 通讯协议UDP,聊天方式点对点(P2P) 此项目简单实现了早期QQ的基本功能 文字聊天 表情,图片发送 发送离线消息,图片 在线/ ...

  2. 即时通讯源码-即时通讯集群服务免费-通讯百万并发技术-Openfire 的安装配置教程手册-哇谷即时通讯集群方案-哇谷云-哇谷即时通讯源码

    即时通讯源码-即时通讯集群服务免费-通讯百万并发技术-Openfire 的安装配置教程手册-哇谷即时通讯集群方案-哇谷云 1,openfire开发环境配置 很久没有写点东西了.最近很烦心,领导不给力. ...

  3. 用于二次开发企业即时通讯源码(C++/MFC)

    用于二次开发企业即时通讯源码(C++/MFC),现在,做一个普通的即时通讯软件不是一件难事,网上有很多很好的这类软件的源代码可以拿来使用.今天就介绍一个我用过,觉得不错的给大家.软件叫 XEIM,中文 ...

  4. GoEasy小程序即时通讯源码 v1.1.0基于GoEasy提供的websocket通讯服务

    介绍: GoEasy小程序即时通讯源码是一个基于GoEasy提供的websocket通讯服务,实现的小程序即时通讯,支持一对一单聊.群聊.会话列表.上下线提醒.历史消息.离线消息,支持发送图片.视频. ...

  5. 即时通讯源码,包含安卓,iOS,H5,MacOS,PC,Java后端

    即时通讯源码,包含安卓,iOS,H5,MacOS,PC,Java后端 YID:391000625261646335酷柒网络技术有限公司

  6. PHP在线客服即时通讯源码

    PHP在线客服即时通讯源码 一款php在线即时通讯客服系统,程序采用thinkphp框架 能在线传输文件图片 合适个人和小型接入 源码介绍 安装环境:linux宝塔,php5.6,mysql5.5或5 ...

  7. 即时通讯源码基IM源码内核开发采用[uniapp]封装技术

    即时通讯源码是基于开源IM源码内核开发的,根据业务需要改造而来.修改和扩展了很多ejaberd不支持的功能.程序实现了一个 XMPP 即时消息客户端.创建此应用程序是为了演示使用XMPP和Ember创 ...

  8. tigase集群配置搭建官方方法-xmpp通讯协议配备tigase集群开发简单省事-哇谷即时通讯IM源码服务-哇谷即时通讯源码

    tigase集群配置搭建官方方法-xmpp通讯协议配备tigase集群开发简单省事-哇谷即时通讯IM源码服务 哇谷即时通讯IM云-即时通讯源码-音视频会议-直播-短视频-企业即时通讯办公-聊天app- ...

  9. im即时通讯源码_IM消息ID技术专题(六):深度解密滴滴的高性能ID生成器(Tinyid)

    1.引言 在中大型IM系统中,聊天消息的唯一ID生成策略是个很重要的技术点.不夸张的说,聊天消息ID贯穿了整个聊天生命周期的几乎每一个算法.逻辑和过程,ID生成策略的好坏有可能直接决定系统在某些技术点 ...

最新文章

  1. 谷歌出现新冠肺炎确诊病例,限制员工出行;比尔·盖茨:可能成百年不遇的大流行病...
  2. 种草莓【字符串】【动态规划】
  3. 三星s8怎么分屏操作_三星手机该怎么玩?了解完这几点用机技巧,可以轻车熟路了!...
  4. eclipse Android 开发基础 Activity 窗体 界面
  5. ceph-rest-api_快速检查REST API是否有效的方法-从清单文件中获取详细信息
  6. java编程启蒙_程序设计入门—Java语言
  7. java 发送数据_用JAVA模拟POST发送数据
  8. 设计灵感|大火C4D立体字效在海报中的应用
  9. python代码运行顺序_python 代码运行顺序问题?
  10. php yaf框架扩展实践一——配置篇
  11. 软考之软件设计师(教程电子版、历年真题详解、其他资料)
  12. JSP学生日常记账系统综合课程设计报告
  13. 手机号码测试用例java_“邮箱”“验证码”“手机号码”输入框测试用例
  14. 知道今天是星期几java_java如何判断今天是星期几
  15. [魔方]魔方七步初级教程
  16. 世界杯要来了,AI预测冠军哪家强?
  17. Jstate JVM分析
  18. c# 微信公众号开发之token验证第三方服务器
  19. linux查看msg内容,如何打开MSG文件,如何转换MSG文件
  20. WebAssembly技术_在Web端运行C与C++程序(win10)

热门文章

  1. iPhone 12、iPhone 12 Pro、iPhone 12 Pro Max屏幕尺寸,分辨率,PPI 详细数据对比 iPhone 12 mini
  2. linux下FTP、SFTP命令详解
  3. php对多个变量进行初始化,PHP如何对变量进行初始化和初始化
  4. sms+cmgs+pdu+java_实现sms短信发送+pdu模式(支持中英文发送)
  5. 第七届蓝桥杯C语言C组-(自己懂的题目)
  6. 阿里巴巴数据分析实战:超详细的母婴电商分析流程
  7. C语言:用冒泡排序对数组进行升序排序
  8. 2021年P气瓶充装考试技巧及P气瓶充装试题及解析
  9. 阵列卡,组成的磁盘组就像是一个硬盘,pci-e扩展出sata3.0
  10. IBM P780在动态分区中切换磁带机(飘磁带机)与磁带备份rootvg