免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: mik
打印 上一主题 下一主题

大家讨论一下 IM 的实现结构和方案 [复制链接]

论坛徽章:
0
31 [报告]
发表于 2009-07-06 21:16 |只看该作者
原帖由 wwwsq 于 2009-7-6 20:54 发表



听你说了这么多,本来都有点手痒想做个im server玩了,看了下wiki上好多开源的jabber server实现。。。。。然后就没兴趣了。。。。

那些开源的jabber server有没有什么重大的功能或者性能上的不足?如 ...


我个人认为jabber的协议XMPP还可以, 但没看到什么象样的开原的实现。 尤其是c/c++的。 java我不懂, 也从不认这个语言能做出高性能的im服务。

但有一点, 如果是给公司做, 选用开原的jabber代码改, 是速度最快的, 因为基本你要的功能, 他都有了, 但效率稳定性方面, 通常几w人的压力, 改改应该没问题的。

不建议自己做开原的im, 一是做不大, 2是很难让别人用你的im.

论坛徽章:
0
32 [报告]
发表于 2009-07-06 21:41 |只看该作者
原帖由 xhl 于 2009-7-6 20:15 发表

qq的文本聊天全部是server中转的, 但不是一个server, 是几w台server可能。

qq的语音跟视频基本是不用server 中转的, 因为如果你不能p2p, 则qq认为你无法享受这个服务。 所以有些人的网络环境下, 就 ...


qq文本聊天的时候明显能抓包看到一些通往对方IP的数据.

论坛徽章:
0
33 [报告]
发表于 2009-07-06 22:09 |只看该作者
原帖由 html1999 于 2009-7-6 21:41 发表


qq文本聊天的时候明显能抓包看到一些通往对方IP的数据.

你抓的这些包可能不是文本聊天包.

论坛徽章:
0
34 [报告]
发表于 2009-07-06 22:25 |只看该作者
原帖由 xhl 于 2009-7-6 13:15 发表
哈哈, 这个我熟悉, 你要说情你的需求, 是什么样的im

仅仅是个类似ipmsg的内网络传文件的IM,  还是一个公网简单的文本IM,  还是支持文件传输, 语音, 视频, P2P等复杂的IM.

支持不支持好友管理, 分类 ...


感谢阁下的耐心回答。

我要做的一个项目大概是:

1、建立一套完整的服务中心,或者说是后台处理中心。
2、有些类似QQ,可以让用户直接通信沟通。用户可以在这个平台上发布信息和获取所需的信息。
3、处理中心为客户自动匹配或选取最优方案(比如说,供求方价格,合适旅游行程线路)以及相应的一系列的服务。
4、这个项目其实最注重的是后面的处理中心。所以,使用 p2p 似乎没必要吧,但是也需要可以让客户直接通信沟通的平台。

客户端象是QQ 这样的IM 通信平台。

服务端就是后面的对信息的发布、处理、匹配筛选处理等等,将这些信息反馈给客户群。

所以,当客户群大的时候,要求后面的处理能很快地响应。

语音视频等复杂的 IM 似乎没这个必要,当然能尽理做得多点,那也更好。


谢~

论坛徽章:
0
35 [报告]
发表于 2009-07-06 22:26 |只看该作者
原帖由 ideawu 于 2009-7-6 22:09 发表

你抓的这些包可能不是文本聊天包.



恩, 有这个可能, 坦白讲, 我也没仔细分析过qq的协议。

我说他的文本全是server relay, 是推断出来的。原因有3:

1. 如果要维护一条p2p的通路, 要不停的在这个通道上发包, 否则会被firewall关掉。 语音视频正适合, 因为本身就是每秒20-50个包左右。

2. 文本聊天是要有记录的, 甚至会做些特殊的屏蔽。 不通过server完全无法控制。

3. relay文本的代价比较小。

我猜测你看到发往对方的 ip 包, 可能是他的连接性检测包, 就当你跟这个buddy聊天的时候, 内部会尝试做一些p2p的工作。

为你跟这个朋友通话, 准备通路。

论坛徽章:
0
36 [报告]
发表于 2009-07-06 22:32 |只看该作者
原帖由 mik 于 2009-7-6 22:25 发表


感谢阁下的耐心回答。

我要做的一个项目大概是:

1、建立一套完整的服务中心,或者说是后台处理中心。
2、有些类似QQ,可以让用户直接通信沟通。用户可以在这个平台上发布信息和获取所需的信息。
3 ...



我朋友做过类似你这套系统。。 他是用sip + jabber做的。  呼叫中心应用。

自己从头做, 不光是协议了, 服务了, 还有client ui等, 其实复杂的im的 ui逻辑, 也很复杂。

论坛徽章:
0
37 [报告]
发表于 2009-07-06 22:50 |只看该作者
原帖由 xhl 于 2009-7-6 22:32 发表



我朋友做过类似你这套系统。。 他是用sip + jabber做的。  呼叫中心应用。

自己从头做, 不光是协议了, 服务了, 还有client ui等, 其实复杂的im的 ui逻辑, 也很复杂。


能不能详细的介绍,讲解一下

论坛徽章:
0
38 [报告]
发表于 2009-07-06 23:12 |只看该作者
原帖由 mik 于 2009-7-6 22:50 发表


能不能详细的介绍,讲解一下



一定要做client - server形式吗, 个人感觉, bs的结构, 也可以做你这种存文本的应用。

如果是cs结构的, 那就设计协议, 你这种应用在im边, 应用的是比较简单的, 更多的是你背后的业务数据如何跟im结合。

可以用c++做client, 也可以选用flex as这套做client,

server用windows 或者 linux的都可以, 就是个网络服务 + db操作。

论坛徽章:
0
39 [报告]
发表于 2009-07-06 23:19 |只看该作者
原帖由 xhl 于 2009-7-6 23:12 发表



一定要做client - server形式吗, 个人感觉, bs的结构, 也可以做你这种存文本的应用。

如果是cs结构的, 那就设计协议, 你这种应用在im边, 应用的是比较简单的, 更多的是你背后的业务数据如何跟i ...


thx 指教

论坛徽章:
0
40 [报告]
发表于 2009-07-06 23:27 |只看该作者
原帖由 mik 于 2009-7-6 23:19 发表


thx 指教



不客气, 好几年没惯水了,  能帮助别人也很开心。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP