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

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

时间: 2024-08-06 03:40:58

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

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

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

即时通讯源码出售

哇呼Chat是一个安全的私有聊天软件,是一款即时通讯解决方案,源代码部署的方式,可以帮助你快速拥有一套自己的移动社交.企业办公.多功能业务产品. 私有部署 / 安全可靠 / 随意定制 /超大集群模式 私有部署:源码本地搭建 数据自己掌控 多种聊天场景:支持单聊.群聊.视频.语音等 丰富的消息类型:支持文字.图片.视频.语音.红包.阅后即焚等 支持单人聊天.群聊 支持文字.图片.语音等多种类型的消息 卓越的访问速度和负载能力 支持集群扩展的模式,理论上支持无限制的用户同时使用 支持高级VIP定制,

类似QQ的应用毗邻(Pilin)即时聊天源码

这个应用是从安卓教程网分享过了的,个人觉得这个还是挺不错的,毗邻(Pilin)即时聊天应用源码,承诺的 基于xmpp openfire asmack 的即时聊天应用,继续完善,现在只完成了文字.表情.图片的发送.有兴趣的朋友可以继续去完善,不过老实说,代码写得很垃圾,没有什么层次,因为这是本人第一个写得App,由于想学习嘛,所以没有用到什么框架,很多重复.冗余的代码,注释比较少, 望大家见谅,大神忽喷.这里提示几点:1.必须有网络才能打开app(无网络的本地数据保存与加载--就是进入界面的初始化

iOS 即时通讯,从入门到 “放弃”?

原文链接:http://www.jianshu.com/p/2dbb360886a8 本文会用实例的方式,将 iOS 各种 IM 的方案都简单的实现一遍.并且提供一些选型.实现细节以及优化的建议. —— 由宇朋Look分享 前言 本文会用实例的方式,将iOS各种IM的方案都简单的实现一遍.并且提供一些选型.实现细节以及优化的建议. 注:文中的所有的代码示例,在github中都有demo:iOS即时通讯,从入门到“放弃”?(demo)可以打开项目先预览效果,对照着进行阅读. 言归正传,首先我们来总

MVC中使用SignalR打造酷炫实用的即时通讯功能

資料來源:http://www.fangsi.net/1144.html 前言,现在这世道写篇帖子没个前言真不好意思发出来.本贴的主要内容来自于本人在之前项目中所开发的一个小功能,用于OA中的即时通讯.由于当时走的太急,忘记把代码拿出来.想想这已经是大半年前的事情了,时间过了这么久,在当时最新的SignalR2.0.1到现在已经变成了2.2.昨天晚上特地熬了个夜,重新又把它写出来做了一个小小的Demo.当然我只是大自然的搬运工,这个SignalR即时通讯功能里面有一些前端的类库不是我自己写的.我

MVC中使用SignalR打造酷炫实用的即时通讯功能附源码

前言,现在这世道写篇帖子没个前言真不好意思发出来.本贴的主要内容来自于本人在之前项目中所开发的一个小功能,用于OA中的即时通讯.由于当时走的太急,忘记把代码拿出来.想想这已经是大半年前的事情了,时间过了这么久,在当时最新的SignalR2.0.1到现在已经变成了2.2.昨天晚上特地熬了个夜,重新又把它写出来做了一个小小的Demo.当然我只是大自然的搬运工,这个SignalR即时通讯功能里面有一些前端的类库不是我自己写的.我只是改吧改吧~~在此鸣谢 @贤心,是他的几条库才使得我的这个功能如此酷炫.

iOS即时通讯之CocoaAsyncSocket源码解析四

原文 前言: 本文为CocoaAsyncSocket源码系列中第二篇:Read篇,将重点涉及该框架是如何利用缓冲区对数据进行读取.以及各种情况下的数据包处理,其中还包括普通的.和基于TLS的不同读取操作等等.注:由于该框架源码篇幅过大,且有大部分相对抽象的数据操作逻辑,尽管楼主竭力想要简单的去陈述相关内容,但是阅读起来仍会有一定的难度.如果不是诚心想学习IM相关知识,在这里就可以离场了... 注:文中涉及代码比较多,建议大家结合源码一起阅读比较容易能加深理解.这里有楼主标注好注释的源码,有需要的

基于openfire+smack即时通讯instant message开发

前言 Java领域的即时通信的解决方案可以考虑openfire+spark+smack.当然也有其他的选择. Openfire 是基于Jabber协议(XMPP)实现的即时通信服务器端版本,目前建议使用3.8.1版本,这个版本是当前最新的版本,而且网上可以找到下载的源代码. 即时通信客户端可使用spark2.6.3,这个版本是目前最新的release版本,经过测试发现上一版本在视频支持,msn网关支持上可能有问题,所以选择openfire3.8.1+spark2.6.3是最合适的选择. Smac

基于XMPP协议的手机多方多端即时通讯方案

目   录 基于XMPP协议的手机多方多端即时通讯方案................................................................. 1 目   录.................................................................................................................... 2 一. 开发背景........................