第一次用websocket,按照网上的教程写了config和endpoint
代码如下
config
@Configuration
@EnableWebSocket
public class MyWebSocketConfig {
@Bean
public ServerEndpointExporter serverEndpoint() {
return new ServerEndpointExporter();
}
}
endpoint
@Slf4j
@Component
@ServerEndpoint(value = "/endpoint")
public class WebScoketEndpoint {
@OnOpen
public void onOpen(Session session) {
log.info("客户端:{}连接成功", session.getId());
}
@OnClose
public void onClose(Session session) {
log.info("客户端:{}连接断开", session.getId());
}
@OnError
public void onError(Throwable error) {
System.out.println("onError......" + error.getMessage());
}
@OnMessage
public String onMsg(String message, Session session) {
// log.info("从客户端:{} 收到<--:{}", session.getId(), message);
String send = message.toUpperCase();
String result = "客户:%s您好,来自server 的消息:%s";
result = String.format(result, session.getId(), send);
return "来自server 的消息:" + result;
}
}
这不就搞定了吗,然而启动之后却报错了
java.lang.IllegalStateException: Failed to register @ServerEndpoint class: class com.example.demo.controller.endpoint.WebScoketEndpoint$$EnhancerBySpringCGLIB$$f15a0e54
at org.springframework.web.socket.server.standard.ServerEndpointExporter.registerEndpoint(ServerEndpointExporter.java:159) ~[spring-websocket-5.3.22.jar:5.3.22]
at org.springframework