免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 4113 | 回复: 18
打印 上一主题 下一主题

jabber能不能用UDP实现 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-01-25 18:34 |只看该作者 |倒序浏览
看了Jabberd2的代码,一直认为jabber只能用TCP实现。
老板问我能不能用UDP实现jabber,我一口就否定了。
后来想了想,最终还是不能确定是否UDP实现Jabber。
我觉得UDP是不可靠传输,而jabber对可靠传输的规定也很少。
大家怎么认为的?

还有一般的IM都用TCP还是UDP实现?

论坛徽章:
0
2 [报告]
发表于 2008-01-25 18:48 |只看该作者

回复 #1 youngshuai 的帖子

一般应该是混合用吧。

论坛徽章:
0
3 [报告]
发表于 2008-01-25 18:49 |只看该作者
当然可以了, 前提是你要在UDP上提供可靠传输. 现在也有一些开源的 UDP 可靠传输的库可用.

论坛徽章:
0
4 [报告]
发表于 2008-01-25 19:31 |只看该作者
2楼cugb_cat的混合使用是什么意思?只要用一种就够了吧,除非还要支持多媒体传输。

3楼ideawu: jabber协议没有对可靠传输的控制,如果不更改jabber协议,那么怎么加上可靠机制。是不是你说的UDP可靠传输的库就可以做到? 哪里可以找到这些库?

[ 本帖最后由 youngshuai 于 2008-1-25 22:00 编辑 ]

论坛徽章:
0
5 [报告]
发表于 2008-01-25 19:39 |只看该作者
原帖由 youngshuai 于 2008-1-25 19:31 发表
2楼cugb_cat的混合使用是什么意思?只要用一种就够了吧,除非还要支持多媒体传输。

3楼ideawu: jabber协议没有对可靠传输的控制,如果更改jabber协议,那么怎么加上可靠机制。是不是你说的UDP可靠传输的库就 ...

像QQ的协议,好像就是UDP和TCP都用的,分干什么,QQ客户端既可以用TCP方式登录也可以用UDP方式登录。

论坛徽章:
0
6 [报告]
发表于 2008-01-25 19:53 |只看该作者
DNS 部分可以用 UDP 实现
Jabber 似乎不适合,除非修改协议以适应 UDP,不过这样就不是 Jabber

论坛徽章:
0
7 [报告]
发表于 2008-01-25 19:59 |只看该作者
原帖由 cugb_cat 于 2008-1-25 19:39 发表

像QQ的协议,好像就是UDP和TCP都用的,分干什么,QQ客户端既可以用TCP方式登录也可以用UDP方式登录。


是这样,不过更确切地划分一下的话 QQ 应该只是一个程序,可以利用 UDP 和 TCP 来跟服务器通讯,UDP 和 TCP 这两部分用的应该是不同的协议,尽管其中一个很可能是另一个的变种,只是由于 QQ 闭源,我们也就无从知晓

论坛徽章:
0
8 [报告]
发表于 2008-01-25 20:08 |只看该作者
原帖由 cugb_cat 于 2008-1-25 19:39 发表

像QQ的协议,好像就是UDP和TCP都用的,分干什么,QQ客户端既可以用TCP方式登录也可以用UDP方式登录。



你这个解释不妥,我觉得langue的解释应该是对的,它里面的协议应该分很多种,也跟很多不同的服务器进行通信,比如有登陆的,传文件的,聊天的,拉广告的,等等,每种协议可能采取的方式不一样,有的使用UDP,有的使用TCP,而不是像你说的那样一种协议既可以UDP实现又可以TCP实现.

当然,具体QQ怎么做的我也不太清楚,但是这种单个客户端连多个服务器并且协议不同的情况太多了,而且我现在还没有发现有哪种协议是既可以TCP实现又可以UDP实现的.


[ 本帖最后由 converse 于 2008-1-25 20:09 编辑 ]

论坛徽章:
0
9 [报告]
发表于 2008-01-25 20:28 |只看该作者
原帖由 converse 于 2008-1-25 20:08 发表



你这个解释不妥,我觉得langue的解释应该是对的,它里面的协议应该分很多种,也跟很多不同的服务器进行通信,比如有登陆的,传文件的,聊天的,拉广告的,等等,每种协议可能采取的方式不一样,有的使用UDP,有的使用 ...

恩,我也是这个意思的,想IPMSG的协议,规定的是聊天信息使用UDP,传文件使用TCP,通过UDP协商,然后TCP确认,然后就可以传文件了。

论坛徽章:
0
10 [报告]
发表于 2008-01-25 20:41 |只看该作者
ssl是只能用TCP。
刚才在google上搜了一下关于怎么实现UDP可靠传输的http://udt.sourceforge.net/
太难了
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP