WebSocket 是 HTML5 一种新的协议。它实现了浏览器与服务器全双工通信,能更好的节省服务器资源和带宽并达到实时通讯,它建立在 TCP 之上,同 HTTP 一样通过 TCP 来传输数据,但是它和 HTTP 最大不同是:
Ø WebSocket 是一种双向通信协议,在建立连接后,WebSocket 服务器和 Browser/Client Agent 都能主动的向对方发送或接收数据,就像 Socket 一样;
Ø WebSocket 需要类似 TCP 的客户端和服务器端通过握手连接,连接成功后才能相互通信。
下面主要使用“JavaWebSocket”开源项目,实现Android端与服务器端消息互通。
Ø Java-WebSocket地址:https://github.com/TooTallNate/Java-WebSocket
Ø Java-WebSocket jar下载地址:http://download.csdn.net/detail/tangxl2008008/9613837
1. 客户端实现
使用JavaWebSocket实现,直接使用WebSocketClient即可,下面为主要代码,不是全部的完整代码:
//WebSocketClient 和 address private WebSocketClient mWebSocketClient; private String address = "ws://192.168.0.134:8889"; //初始化WebSocketClient /** * * @throws URISyntaxException */ private void initSocketClient() throws URISyntaxException { if(mWebSocketClient == null) { mWebSocketClient = new WebSocketClient(new URI(address)) { @Override public void onOpen(ServerHandshake serverHandshake) { //连接成功 showInfo("opened connection"); |