websocket(html5新規範)

yichudu發表於2016-02-01

WebSocket是HTML5規定的新協議。它允許服務端向客戶端實時推送新訊息;當然,客戶端也可以通過websocket實時向server發訊息。
應用場景:聊天。user1向user2發訊息,用伺服器中轉,那麼server就要向client實時推送。

1.js部分

//建立連線
var url="ws://yichudu.com/yichuMessage/websocket/chat";
var webSocket = new WebSocket(url);

//繫結事件
webSocket.onopen=function(){/*建立連線後的操作*/}
webSocket.onmessage = function(event) {/*收到資訊後的操作*/}
webSocket.onclose = function() {/*斷開連線後的操作*/}

//傳送訊息,以json為例
webSocket.send(JSON.stringify(msg));

2.server部分

需要tomcat支援,以tomcat8為例。用eclipse建立一個Dynamic Web Project。

@javax.websocket.server.ServerEndpoint
該註解作用在類上,註解的value引數指定了建立連線的URL路徑。
//以該註解為例,那麼真實地址就是ws://host:port/project/websocket/chat
@ServerEndpoint(value = “/websocket/chat”)

@javax.websocket.OnOpen
作用在函式上,注入引數javax.websocket.Session。

@javax.websocket.OnClose
作用在函式上。

@javax.websocket.OnMessage
作用在函式上。注入引數String。
void javax.websocket.RemoteEndpoint.Basic.sendText(String text)
此函式用於發訊息。

@javax.websocket.OnError
作用在函式上。注入引數Throwable。異常的時候會呼叫。


相關文章