发布时间:2014-05-11 10:39:08
关于服务器端向Android客户端的推送,主要有三种方式:1.客户端定时去服务端取或者保持一个长Socket,从本质讲这个不叫推送,这是去服务端拽数据。但是实现简单,主要缺点:耗电等2.Google的C2DM,具体不细说,缺点,服务器在国外,你懂得,不是很稳定。3.XMPP协议,它是一种基于XML的传递协议,具有很强的灵活性和可扩.........【阅读全文】
发布时间:2014-05-11 10:38:56
1.通信的流程 首先要能连接上服务器,连接上之后,双方必须遵守严格约定的消息发送顺序,否则就无法保持双方的交流。2.通信消息格式的定义 客户端在连接通道上向服务器发送消息时,服务器必须知道凭什么来界定收到的数据算是“一条”消息? 打电话时,我们听到的一句话是.........【阅读全文】
发布时间:2014-05-11 10:37:07
XMPP协议中的BOSH是XMPP Server对外提供的可以支持http直接访问服务器,一般是基于长轮询的。openfire中也提供了这个功能,默认关闭,需要打开。后面我们将通过http://host:7070/http-bind/地址来进行连接,这里要特别提一下,这个host,在xmpp中的 jid 即账户 比如.........【阅读全文】
发布时间:2014-05-11 10:36:55
最近几天一直在做仿QQ,到了现在对协议的概念有了一点理解,感觉到协议才是实现客户机于服务器之间通信的本质,协议很巧妙的解决庞大网络中的诸多问题。 XMPP是点对点通信协议的一种格式,是以XML格式来包装消息的。 <m><type>消息类型</type><body>消息体</body></m> 当然这里的消息体是一个不定量,他是有消息的类型.........【阅读全文】
发布时间:2014-05-11 10:36:40
Java通信程序需要注意的问题: 1. 创建服务器: 指定的端口号port已被占用,或端口号超过一个int型的范围,都会抛出一个异常; 2. 方法阻塞问题: (1) 服务器对象在调用accept()方法处会阻塞,直到等到有客户机连接进入 (2) 套接字对象在用输入流读取字节时,会阻塞在read()方法处,直到读到客户机输入的字节; .........【阅读全文】