Spring boot websocket简单例子

来源:互联网 发布:c语言中n的阶乘 编辑:程序博客网 时间:2024/06/08 16:45

pom.xml

<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-websocket</artifactId></dependency>

WebSocketApplication.java

package websocket;import org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure.SpringBootApplication;@SpringBootApplicationpublic class WebSocketApplication {public static void main(String[] args) {SpringApplication.run(WebSocketApplication.class, args);}}

RawWebSocketConfiguration.java  配置websocket服务端。

package websocket;import org.springframework.context.annotation.Configuration;import org.springframework.web.socket.TextMessage;import org.springframework.web.socket.WebSocketSession;import org.springframework.web.socket.config.annotation.EnableWebSocket;import org.springframework.web.socket.config.annotation.WebSocketConfigurer;import org.springframework.web.socket.config.annotation.WebSocketHandlerRegistry;import org.springframework.web.socket.handler.TextWebSocketHandler;@Configuration@EnableWebSocketpublic class RawWebSocketConfiguration implements WebSocketConfigurer {public static class MyWebSocketHandler extends TextWebSocketHandler {@Overridepublic void afterConnectionEstablished(WebSocketSession session) throws Exception {session.sendMessage(new TextMessage("Hello Client"));}@Overrideprotected void handleTextMessage(WebSocketSession session, TextMessage message) throws Exception {System.out.println("Received: " + message.getPayload());session.sendMessage(new TextMessage("Received " + message.getPayload()));}}@Overridepublic void registerWebSocketHandlers(WebSocketHandlerRegistry registry) {registry.addHandler(new MyWebSocketHandler(), "/rawwebsocket");}}


客户端简单的页面  index.html 

<html><script type="text/javascript">var ws = new WebSocket('ws://127.0.0.1:8080/rawwebsocket');ws.onmessage = function(event) {alert(event.data);};function send(txt) {ws.send(txt);}</script><button onclick="send(new Date())">Send</button></html>


接下来启动服务,访问 http://127.0.0.1:8080/index.html



原创粉丝点击