SockJS知识集锦
简介
SockJS允许应用程序使用WebSocket来进行通信,但是当WebSocket不可用时,可以使用代替的传输机制,但是保持API不变。
SockJS由以下部分组成:
- SockJS协议
- 一个JavaScript客户端
- SockJS服务器端实现,例如 spring-websocket
SocketJS客户端以针对/info的GET请求发起通信,服务器会返回一些基本信息,在此之后,客户端必须决定使用何种传输机制。SocketJS支持多种传输机制,包括WebSocket、HTTP Streaming、HTTP Long Polling。
从4.1开始,Spring提供SockJS的Java客户端。
客户端
JavaScript客户端
SockJS的API和WebSocket很类似:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
var sock = new SockJS( 'ws://gmem.cc:8888/hello' ); // 当连接打开后的回调 sock.onopen = function () { console.log( 'open' ); // 发送消息 sock.send( 'Hello there' ); }; // 接收到消息时的回调 sock.onmessage = function ( msg ) { // msg.data为消息内容 console.log( 'message', msg.data ); // 关闭连接 sock.close(); }; // 关闭连接时的回调 sock.onclose = function () { console.log( 'close' ); }; |
Java客户端
Leave a Reply