XMPP我写底层协议(零)–废话和准备开幕前

XMPP我写底层协议(零)–废话和准备开幕前

大家好,又见面了,我是全栈君,今天给大家准备了Idea注册码。

当我想写一个非常早期的一点总结。但总是忙没有时间停止做这样的事情。

秦与我的兄弟之前说的,这并不是说我没开灵。但是,因为很多事情还没有时间来写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。client须要注意的。server端须要注意的等等等。这些中文都处理的不是非常好。

随时准备一本字典。開始干活吧。

3.准备工作

aserver搭建好了。你才干干活。(这块没经验。纯client的菜逼不好误导大家)

b.阅读一遍RFC

XMPP我写底层协议(零)--废话和准备开幕前

XMPP我写底层协议(零)--废话和准备开幕前


好吧。罗马不是一天造就的,你今天一天就能够啥也不干,仅仅看RFC6121了。

假设你们经理骂你,催你,你能够理直气壮的拿鄙人的一句话来回他:

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

原文传送门

大哥,这个东西真的非常难。。

。写这个blog的菜逼都须要用两天来看这个RFC6121才敢动手写,我TM的仅仅看一天,都不行吗,我明天就開始写代码了,真的。


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

btw2:XEP没有RFC重要

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

btw4:下期预告<怎样理解RFC6121。RFC6121简单介绍>。(为什么是简单介绍,非常多细节我也忘记了,菜逼不好误导大家。仅仅能给慷慨向)


版权声明:本文博主原创文章,博客,未经同意不得转载。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/116800.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • android Apk打包过程概述_android是如何打包apk的「建议收藏」

    最近看了老罗关于android应用资源编译和打包过程的分析,过程比较复杂,这里结合其他资料,简要描述下打包过程,从整体上了解这个流程,感兴趣的再去详细研究过程。流程概述:1、打包资源文件,生成R.java文件2、处理aidl文件,生成相应java 文件3、编译工程源代码,生成相应class 文件4、转换所有class文件,生成classes.dex文件5、打包生成apk6、对apk文件进行签名7、

    2022年3月11日
    54
  • python tkinter窗口美化_jquery进度条插件

    python tkinter窗口美化_jquery进度条插件前言在我们进行自动化测试的时候,用例往往是成百上千,执行的时间是几十分钟或者是小时级别。有时,我们在调试那么多用例的时候,不知道执行到什么程度了,而pytest-sugar插件能很好解决我们的痛点。

    2022年7月29日
    3
  • java定义byte类型,详解java中的byte类型[通俗易懂]

    java定义byte类型,详解java中的byte类型[通俗易懂]介绍byte,即字节,由8位的二进制组成。在Java中,byte类型的数据是8位带符号的二进制数。在计算机中,8位带符号二进制数的取值范围是[-128,127],所以在Java中,byte类型的取值范围也是[-128,127]。取值范围分析一直在想为什么不是-128到128呢?今天分析了一下这个问题。首先我们得明白一件事情,那就是运算规则:########################…

    2022年6月18日
    24
  • XXE注入漏洞

    XXE注入漏洞什么是XML要想清楚XXE漏洞,首先要了解XMLXML可扩展标记语言(EXtensibleMarkupLanguage)。它是一门用于标记电子文件使其具有结构性的标记语言,可以用来标记数据、定义数据类型。XML很像HTML,但是标签没有被预定义,需要自行定义标签。它的文档结构包括XML声明、DTD文档类型定义(可选)、文档元素。它的设计宗旨是传输数据,而不是显示数据。php版本大于5.4.45的默认不解析外部实体传参实体:有%一般实体:无%xxe漏洞与ssrf漏洞相似虽然场景不同,

    2022年5月24日
    29
  • eclipse从svn下载项目_eclipse配置

    eclipse从svn下载项目_eclipse配置第一步:从svn导出,导出时导出为Java项目第二步:将Java项目转换为maven项目第三步:删除eclipse中刚刚新建的Java项目(不要删除本地源码)第四步:新建maven项目,选择刚刚转换的maven项目第五步:maven项目已经成功转换了,查看该项目的jdk以及库

    2022年10月9日
    0
  • 近两万字小程序攻略发布了

    近两万字小程序攻略发布了

    2021年6月12日
    133

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号