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简单介绍>。(为什么是简单介绍,非常多细节我也忘记了,菜逼不好误导大家。仅仅能给慷慨向)


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

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • shell中if elif_shell编程if语句格式

    shell中if elif_shell编程if语句格式测试shell脚本编程时,写了如下代码:在对if-elif-else分支进行数值判断时,发现一个奇怪的现象:如果使用testconditon(即[condition])进行判定,当第一条if条件为假时,无论代码中的elif语句条件是否为真,都输出elif分支下的语句;查看输出结果,发现输出结果显然与期望值不一样为了能够得到预期结果,发现如果采用双圆括号是进行判断,可得到预期结…

  • 使用ctk库

    使用ctk库上篇文章写的如何生成一个简易ctk动态库https://blog.csdn.net/qq_16238157/article/details/86602476这篇文章写如何简易的使用交代路径下图上篇文章已经写过关于ctk动态库如何生成下面介绍一下各个文件夹:CTK文件夹:是ctk的源码ctkWork文件夹:用vs编译生成的ctk插件myCTK文件夹:是网上找的一个调用ct…

  • 静态页面和动态页面的区别在于_超链接属于静态网页还是动态网页

    静态页面和动态页面的区别在于_超链接属于静态网页还是动态网页什么是静态页面?什么是动态页面?两者有什么区别?很多不了解前端技术的人可能会认为静态页面就是一个内容固定不变,没有任何效果的页面,而动态页面则是页面非常丰富,有各种交互效果和动态效果的页面。其实这个理解是错误的。通过本篇文章的阅读,详细为大家分享一下静态页面和动态页面到底是什么,两者有什么区别。什么是静态页面和动态页面?  通俗的来讲,静态页面是随着HTML代码的生成,页面的内容和显示效果就基本不会发生变化(除非修改页面代码),而动态页面,虽然同样页面代码不发生变化,但是其显示的内容确实可以随着时间环

    2022年10月23日
  • 百度搜索引擎工作原理「建议收藏」

    百度搜索引擎工作原理「建议收藏」  关于百度以及其它搜索引擎的工作原理,其实大家已经讨论过很多,但随着科技的进步、互联网业的发展,各家搜索引擎都发生着巨大的变化,并且这些变化都是飞快的。我们设计这个章节的目的,除了从官方的角度发出一些声音、纠正一些之前的误读外,还希望通过不断更新内容,与百度搜索引擎发展保持同步,给各位站长带来最新的、与百度高相关的信息。本章主要内容分为四个章节,分别为:抓取建库;检索排序;外部投票;结果展现。…

  • Android颜色对照表 或html css RGB颜色对照表[通俗易懂]

    Android颜色对照表 或html css RGB颜色对照表[通俗易懂]颜色代码大全 AA指定透明度。00是完全透明。FF是完全不透明。超出取值范围的值将被恢复为默认值。    ffff00ffff33ffff66ffff99ffffccffffffffcc00ffcc33ffcc66ffcc99ffccccffccffff9900

  • java–Quartz 定时执行

    java–Quartz 定时执行第一步:引包(Maven)第二步:创建要被定执行的任务类这一步也很简单,只需要创建一个实现了org.quartz.Job接口的类,并实现这个接口的唯一一个方法execute(JobExecutio

发表回复

您的电子邮箱地址不会被公开。

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