现在的位置: 首页 > 综合 > 正文

XMPP协议实现即时通讯底层书写(零)–开篇前的废话和准备工作

2018年05月26日 ⁄ 综合 ⁄ 共 1347字 ⁄ 字号 评论关闭

很早的时候就想写点总结了,但是一直都因为工作繁忙没有时间静下心来干这么一件事情。

曾经带过我的秦大哥说过,并不是我没有开源精神,而是因为事情太多没时间写blog。当初并不是很理解,真正到了自己在这个位置上的时候,才能理解当时的秦大哥心情和对我这个小菜逼的郁闷吧。好了,言归正传,还是来说说XMPP吧。

1.字面上的理解XMPP

xmpp中文名:可扩展通讯和表示协议,英文名:Extensible Messaging and Presence Protocol。具体怎么定义的我就不多说了,好吧,我承认这是百度百科给的答案,尽管理解有点费劲,但是还是希望没有任何IM基础你在做基于XMPP的IM
之前看看百度百科的定义这块(代码相关的可以不用看了,没啥用),虽然有点鸡肋,但是对于英文不是很好的同学还是有点帮助的。

关键key:可拓展extensible, presence 出席, protocol协议。

这段定义,希望你牢记这三个描述key。是的,要倒背如流,因为接来下的英文文档,就是围绕这三个key来进行的文章。

2.学习和阅读XMPP

如果你想做陌陌,微信,Twitter这样的大哥哥软件,学习和阅读官网是唯一出路。

官网:http://xmpp.org/ 哪里不懂点这里,万恶之源(因为你需要长时间的阅读这些密密麻麻的英文字符)

中文翻译网:http://wiki.jabbercn.org  如果你真的英语很烂,这有份中文的。

其实鄙人是不想贴中文翻译的,并不是我装逼(读英文,看英文文档就高大上,高帅富),而是血的教训让我告诫你们,谁MLGB的让我看的中文翻译网站,坑死老子了!cao!自从看了中文文档后,我需要反复的参照中文文档,然后找到官网的英文版看三遍。就是这么的费劲,因为中文给的 变量名词竟然这么TMD不好理解,还不如英文描述的形象。特别是各种各样的规定,configuration,relationXEP,客户端需要注意的,server端需要注意的等等等,这些中文都处理的不是很好。随时准备一本字典,开始干活吧。

3.准备工作

a服务器搭建好了,你才能干活。(这块没经验,纯客户端的菜逼不好误导大家)

b.阅读一遍RFC




好吧。罗马不是一天造就的,你今天一天就可以啥也不干,只看RFC6121了。

如果你们经理骂你,催你,你可以理直气壮的拿鄙人的一句话来回他:

转载请署名出处,谢谢:)

原文传送门

大哥,这个东西真的很难。。。写这个blog的菜逼都需要用两天来看这个RFC6121才敢动手写,我TM的只看一天,都不行吗,我明天就开始写代码了,真的。


btw:如果你真的不能理解透RFC6121,你也可以放弃书写core IM 了,后面的东西你的速度会 比 理解这套RFC的人慢至少3倍速度。千万不要觉得这个东西容易,觉得这个不重要。当然你可以不听我的劝告,但是希望项目快上线的时候,不会有各种错误,各种莫名其妙的问题。

btw2:XEP没有RFC重要

btw3:基于xmppFramework 的IOS 客户端 appstore搜索 whosv,体验一下(2.0.3以后的版本不是我维护的,是的,我辞职不干了)。

btw4:下期预告<如何理解RFC6121,RFC6121简介>。(为什么是简介,很多细节我也忘记了,菜逼不好误导大家,只能给大方向)


抱歉!评论已关闭.