摘要:
这一节写得比较长,不过如果您确实要手工解码 xmpp 消息,还是建议您仔细看看,而且事实上并不复杂。 登录成功后,我们就可以收发消息了。消息包的格式大致如下: 1 <message id="JgXN5-33" to="clq@127.0.0.1" from="ccc@127.0.0.1/Spark" 阅读全文
摘要:
这一节写得比较长,不过如果您确实要手工解码 xmpp 消息,还是建议您仔细看看,而且事实上并不复杂。 登录成功后,我们就可以收发消息了。消息包的格式大致如下: 1 <message id="JgXN5-33" to="clq@127.0.0.1" from="ccc@127.0.0.1/Spark" 阅读全文
摘要:
xmpp 协议的这个名称就来自于它的消息包格式借鉴了 xml 的格式,但并不是我们常规编程中的那种完整的 xml 信息包。因此就不能用普通的 xml 解码库来操作这些消息,一般的情况下是需要另外开发的,而实际的开发中通常使用第三方库。但就目前的第三库现状来说,可以说是不怎么好用,所以我们来看看如何手 阅读全文
摘要:
一步一步从原理跟我学邮件收取及发送 附录1 关于阿里云关闭 25 号端口的原因 本系列文章已经坑了很久了,因为笔者这几年经历了创业、就业、再创业、再就业以及其他更不便启齿的问题久未更新,好不容易更,却是附录。让大家失望了。不过这对于电子邮件相关的开发活动真的是一个很重要的信息。 我大概是五、六年前也 阅读全文
摘要:
第二章登录的实现 金庸《倚天屠龙记》 张三丰缓缓摇头,说道:“少林派累积千年,方得达成这等绝技,决非一蹴而至,就算是绝顶聪明之人,也无法自创。”他顿了一顿,又道:“我当年在少林寺中住过,只是未蒙传授武功,直到此时,也不明白寻常血肉之躯如何能练到这般指力。” 前言 大家肯定不知道,要说其实 xmpp 阅读全文
摘要:
第一章 XMPP 协议现状与问题 1.1 前言 大概两年前笔者开个了大坑,写下《一步一步从原理跟我学邮件收取及发送》一文。虽然至今没有完结,不过主要的内容其实也说得差不多了 J 。好吧,最主要的原因是笔者后面开发 newbt.net 的即时通信功能,花的时间比较多(当然还有些别的不便说明的私人状况) 阅读全文
摘要:
在前面的本系列文章中我们已经学会了邮件的发送和收取。但在收取中我们看到的是一串串的乱码,回忆前面的发送过程,我们会奇怪:我们前面的邮件是明文啊。为什么明文的邮件明明也可以正常工作,还要弄乱码似的字符串编码呢?让我们先来看一下前面发送过的邮件内容: From: "test1@newbt.net" <t 阅读全文
摘要:
本系列上一篇文章中我们就说到了,这一次我们要说 pop3 收信了。虽然我觉得应该先说完 mime 格式,不过估计大家已经不耐烦了 -- 怎么老在说发送啊?我们要看收取! 好吧,来啦,来啦!收取邮件现在常用的有 pop3 和 imap 协议,不过从传统来说 pop3 受众要广得多。有了前面的基础,要实 阅读全文
摘要:
经过了这个系列的前几篇文章的学习,现在要写出一个完整的 smtp 邮件发送过程简直易如反掌。 例如我们可以轻松地写出以下的纯 C 语言代码(引用的其他C语言文件请看文末的 github 地址): 运行结果如图: 好了,我们用其他语言也来一个吧。但是这里有个问题:java 有很完善的电子邮件实现,实在 阅读全文
摘要:
经过前几篇的文章,大家应该都能预感到一定要讲解 base64 函数的内容了。是的,马上要到程序登录的代码,base64 是必须要实现的。 base64 很早以前我就接触了,在项目中也很喜欢用。但每换一个新语言我总是很害怕,很排斥用它。这主要是缘于曾经的经历:多年前 base64 还没有这样普及,为了 阅读全文
摘要:
前几篇的文章发表后,有网友留言说没有涉及到阻塞的问题吗?在 socket 的编程当中,这确实是个很重要的问题。结合目前我们文章的内容进度,我们来看看为什么说阻塞概念很重要。 接着上篇的内容,当我们发送了 ehlo 命令之后就要接收服务器的返回了。这个地方是一个很容易出错的位置,一般的网络命令都是发送 阅读全文
|