本文章做的是一个连接websocket的demo演示
在做这个demo演示的时候,需要自己搭建一个websocket服务器
在linux或者windows上用户来测试。
application.yml的websocket连接配置
websocket:
port: 6001
action: ws://127.0.0.1
thread:
boss: 12
work: 12
springboot加载websocket的bean
package com.example.rabbitmqdemo.websocket;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.socket.config.annotation.EnableWebSocket;
import org.springframework.web.socket.server.standard.ServerEndpointExporter;
//@Slf4j
@Configuration
@EnableWebSocket
public class WebSocketConfig {
@Bean
public ServerEndpointExporter serverEndpoint(){
return new ServerEndpointExporter();
}
}
websocket服务端代码
package com.example.rabbitmqdemo.websocket;
import javax.websocket.OnClose;
import javax.websocket.OnMessage;
import javax.websocket.OnOpen;
import javax.websocket.Session;
import javax.websocket.server.ServerEndpoint;
import org.springframework.stereotype.Component;
//@Slf4j
@Component
@ServerEndpoint("/info") // 指定websocket 连接的url
public class WebSocketServer {
@OnOpen
public void onOpen(Session session) {
// log.info("客户端:{}连接成功",session.getId());
System.out.println("客户端:{}连接成功"+session.getId());
}
@OnClose
public void onClose(Session session) {
// log.info("客户端:{}连接断开",session.getId());
System.out.println("客户端:{}连接断开"+session.getId());
}
@OnMessage
public String onMsg(String message,Session session) {
// log.info("从客户端:{} 收到<--:{}", session.getId(),message);
System.out.println("从客户端:{} 收到<--:{}"+ session.getId()+message);
String send=message.toUpperCase();
String result="客户:%s您好,来自server 的消息:%s";
result = String.format(result, session.getId(), send);
return "来自server 的消息:" + result;
}
}