即时通讯 ?XMPP :Socket

      最近在研究 即时通讯编程,一查网络资料,杂乱无章的信息疯拥而至。XMPP ?Socket 该选择哪以个?这就需要了解到它们实现的机制了。下面笔者就来分析一下,便于对它们的选择,如有错处,请纠正,共勉。

      首先,看这两者的区别,XMPP 是一个应用层协议,其底层(传输层和网络层)依然是Socket通信。换句话说,XMPP是建立在Socket通信基础上的。

      关于层次的问题,又懵乎了吧。它们两者都是基于网络应用,而网络由下往上分为 物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。如此,两者之间可以看出区别了吧。

      再深入研究一番,就涉及到经常提到的 TCP/IP和HTTP协议。TCP协议对应于传输层,而HTTP协议对应于应用层。在对比上面的 XMPP协议 与 Socket ,有没有发现两组之间的共同之处。确实如此  HTTP协议  XMPP 都是 一个应用层协议, 不过 TCP/IP是一个传输层协议 , Socket不是一个协议 ,Socket是对TCP/IP协议的封装和应用.也就是说SocketTCP/IP协议的具体实现。

      接下来,再分析一下,这些协议能做些什么,干什么用的呢?首先上面说到的

      HTTP协议 XMPP 是一个 应用层协议 ,它们主要解决如何包装数据

      TCP/IP协议是传输层协议主要解决数据如何在网络中传输

      可想而知 XMPP是建立在Socket通信基础上的 这句话它到底描述了什么了吧,没有数据的传输,哪里有数据给你包装呢!但是两者在即时通讯编程的时候,又是相互独立的,

原因的是它们都有相应的框架对传输的数据进行处理了。但是 HTTP协议TCP/IP协议 则不然,它们之间还是不能相互独立的。关于TCP/IP和HTTP协议的关系,网络有一段比

较容易理解的介绍:“我们在传输数据时,可以只使用(传输层)TCP/IP协议,但是那样的话,如果没有应用层,便无法识别数据内容."

      到此,应该有恍然大悟的措举了吧。:)

      如果 即时通讯 ?XMPP :Socket , 还在这个选择上还飘忽不定,那么看完下面的介绍就该得出结论了吧

     下面笔者列举一下使用  XMPP ?Socket 分别需要的条件

       XMPP 是一个 应用层协议  它要拿到网络中传输的数据,才能对数据进行包装处理。所以使用它来即时通讯要做好以下工作:

       (1)搭建好XMPP服务器(服务器比较常用的 有 ejabberd ,openfire)

       (2)客户端(Adium)

         具体的步骤:点击打开链接

                              点击打开链接

      Socket 作用于传输层,它就可以直接操作网络之间传输的数据了,至于识别数据内容,导入CocoaAsyncSocket框架使用即可。框架链接点击打开链接

      笔者 在使用 Socket ,后续操作代码逐一奉上!!记关注。。。



评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值