全部博文(556)
分类: IT业界
2013-03-07 19:43:40
1.通信的流程
首先要能连接上服务器,连接上之后,双方必须遵守严格约定的消息发送顺序,否则就无法保持双方的交流。
2.通信消息格式的定义
客户端在连接通道上向服务器发送消息时,服务器必须知道凭什么来界定收到的数据算是“一条”消息?
打电话时,我们听到的一句话是根据中文的语法基础决定的。当两台机器通信时,这个规定必须定义明确,且双方遵守。多人聊天室开发过程中,大家容易发这样的错:
如果客户端发送的消息不加上:"\r\n” 做一条消息的标识符,服务器就无法读到这条消息。
根据这个思路,你也可以和服务器约定:将用户名和密码用一条消息发送,它们之间用#号隔开。这个约定就是一种消息格式的定义。
所以,通信协议可以理解为:通信双方的通信流程和数据格式的规则,要参与通信的双方都只有按照这个规则发送,数据才可以正常通信。
XMPP是点对点通信协议的一种格式,是以XML格式来包装消息的。
当然这里的消息体是一个不定量,他是有消息的类型决定的,通过对通信双通信规则(协议)的规定,也就实现了通过程序的解读来实现网络上的C/S模式的通信。
XMPP格式的协议是一个简单容易理解的通信方式,但是头尾的标签使得XMPP的一条消息传输到网络上所占据的无用字节数过多,降低了传输效率,还有一点就是以字符串标志消息结尾有可能导致消息的丢失,因为客户机发送的