springboot连接websocket ---超级简单示例

本文章做的是一个连接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;
    }

}

在线测试地址

经验分享 程序员 微信小程序 职场和发展