佳礼资讯网

 找回密码
 注册

ADVERTISEMENT

查看: 1021|回复: 2

XMPP 。

[复制链接]
发表于 26-1-2008 12:20 AM | 显示全部楼层 |阅读模式
看了这篇
http://www.jivesoftware.com/comm ... -for-cloud-services

还有这篇
http://en.wikipedia.org/wiki/Ext ... d_Presence_Protocol

还是 不是很明白一些东西。。

1. 据说, 这种 protocol , instead of 像 http 那样client 有 request, server 就 respond,
它是 pushing 的 方法, 就是 server 那里有更新, 就会push 到 client 那里, 即使client 不去做request。。

那么是不是 。。。 也就是 说 client 就必须 listen to server, 然后 server 也必须 listen to client。。。
双方向的 listen 。   给我的感觉 很像 某种 pub-sub 的 模式。。
回复

使用道具 举报


ADVERTISEMENT

发表于 29-1-2008 03:26 PM | 显示全部楼层
对传输协议的认识有限,我对XMPP的认识只是XML-Based的Messaging Protocol。GoogleTalk, iChat, Pidgin 还有最新的Android都可以看到它的影子。

看了你的帖子之后,我用了xmpp4r-simple (Ruby XMPP Client)和gmail试了一下(需要两个google account),发现和HTTP不同的是这个是一个stateful的protocol, client只需要bind到server service就可以了,不需要定时做request,也不需要listen to server。不过,根据wikipedia,XMPP也可以用HTTP来做transport,可以bypass firewall。

XMPP的另一个好处就是Decentralization , 不同的XMPP server之间是可以进行沟通的,例如kugua@mydomain.com可以和page@gmail.com传输信息。
回复

使用道具 举报

 楼主| 发表于 29-1-2008 11:51 PM | 显示全部楼层
不论上面是 http还是 xmpp
底层的socket 应该 还是一样吧。。。我一时忘了。socket 本来就是bidirectional的。。

server side 那里有 一个主 thread 会有一个 listening loop,
server一旦 接受 到 client socket 就 spawn 一个 thread 来handle 那个socket,
主thread继续listening。。

我是曾想过尝试自己写一个 web server 来玩玩。。。
但还没彻底的去研究 http 。。
但我自己的了解是。。。
估计跟一般 的 socket 一样, 主thread 有个listening loop,
client 要request abc.html, 也会先 connect to server 然后
server 就去挖 abc.html 输送回给client。输送后就直接把connection close 掉了。。
下个 request 就是下一个connection 的事了。。

IM 的话平时是connected 的。 嗯。所以 server 有什么新东西可以直接告诉 client。。。因为
client 总是 connected。。。

可是如果 要跑到别的server 去沟通。。那么 server 就 变成 另某 server 的client ??

[ 本帖最后由 tensaix2j 于 29-1-2008 11:54 PM 编辑 ]
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

 

ADVERTISEMENT



ADVERTISEMENT



ADVERTISEMENT

ADVERTISEMENT


版权所有 © 1996-2023 Cari Internet Sdn Bhd (483575-W)|IPSERVERONE 提供云主机|广告刊登|关于我们|私隐权|免控|投诉|联络|脸书|佳礼资讯网

GMT+8, 24-9-2025 10:28 AM , Processed in 0.127359 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表