1. 程式人生 > >用spring boot 實現websocket

用spring boot 實現websocket


import java.io.IOException;


import javax.websocket.OnClose;
import javax.websocket.OnError;
import javax.websocket.OnMessage;
import javax.websocket.OnOpen;
import javax.websocket.Session;
import javax.websocket.server.PathParam;
import javax.websocket.server.ServerEndpoint;



@ServerEndpoint("/websocket/{sid}")
@Component
public class WebSocketServer {
	private Session session;

	// 接收sid
	private String sid = "";
	private String traciUrl;
	/**
	 * 連線建立成功呼叫的方法
	 */


	@OnOpen
	public void onOpen(Session session, @PathParam("sid") String sid) {
		this.session = session;
	}

	/**
	 * 連線關閉呼叫的方法
	 */
	@OnClose
	public void onClose() {
		webSocketSet.remove(this); 
	}

	/**
	 * 收到客戶端訊息後呼叫的方法
	 *
	 * @param message
	 *            客戶端傳送過來的訊息
	 */
	@OnMessage
	public void onMessage(String message, Session session) {

	}
	/**
	 * 
	 * @param session
	 * @param error
	 */
	@OnError
	public void onError(Session session, Throwable error) {
	}

	/**
	 * 實現伺服器主動推送
	 */
	public void sendMessage(String message) throws IOException {
		this.session.getBasicRemote().sendText(message);
	}
}