首页 > 其他分享 >websocket 简易demo

websocket 简易demo

时间:2023-10-17 10:02:11浏览次数:122  
标签:websocket demo 简易 session new message public

websocket简易demo

网上找的然后写的demo

还有一种写法,跟这种写法不同,先记录这一种

引入依赖

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

新建配置类

@Configuration
public class WebSocketConfig {
    @Bean
    public ServerEndpointExporter serverEndpointExporter() {
        return new ServerEndpointExporter();
    }
}

消息处理类

@Component
@ServerEndpoint("/websocket")
public class MyWebSocket {

    private Session session;

    @OnOpen
    public void onOpen(Session session) {
        this.session = session;
        System.out.println("新连接. . . . . . .");
        try {
            sendMessage("已连接到服务器");
        } catch (IOException e) {
            throw new RuntimeException(e);
        }
    }

    @OnClose
    public void onClose(Session session) {
        System.out.println("断开连接. . . . . . .");
    }

    @OnMessage
    public void OnMessage(String message, Session session) {
        System.out.println("收到客户端消息:" + message);
        try {
            sendMessage("收到你的消息 : " + message);
        } catch (IOException e) {
            throw new RuntimeException(e);
        }
    }

    private void sendMessage(String message) throws IOException {
        this.session.getBasicRemote().sendText(message);
    }

}

启动项目,默认8080端口

postman new-> WebSocket

连接 ws://localhost:8080/websocket

填写Message ,点击发送,收到回复

标签:websocket,demo,简易,session,new,message,public
From: https://www.cnblogs.com/budingbuting/p/17769019.html

相关文章

  • vue2 + websocket 断线重连 + 实时数据
    一、websocket事件-1打开事件Socket.onopen连接建立时触发-2消息事件Socket.onmessage客户端接收服务端数据时触发-3错误事件Socket.onerror通信发生错误时触发-4关闭事件Socket.onclose连接关闭时触发二、webs......
  • spring 状态机demo
    spring状态机demo<dependency><groupId>org.springframework.statemachine</groupId><artifactId>spring-statemachine-core</artifactId><version>2.0.1.RELEASE</version>......
  • scanner Demo04
    packagecom.chen.scanner;importjava.util.Scanner;publicclassDemo04{publicstaticvoidmain(String[]args){Scannerscanner=newScanner(System.in);//从键盘接收inti=0;floatf=0.0f;System.out.println(&quo......
  • scanner Demo05
    packagecom.chen.scanner;importjava.util.Scanner;publicclassDemo05{publicstaticvoidmain(String[]args){//我们可以输入多个数字,并求其总和与平均数,每输入一个数字用回车确认,通过输入非数字来结束输入并输出执行结果;Scannerscanner=newSc......
  • C语言线性表 demo
    typedefintPosition;typedefstructLNode*List;structLNode{ElementTypeData[MAXSIZE];PositionLast;};/*初始化*/ListMakeEmpty(){ListL;L=(List)malloc(sizeof(structLNode));L->Last=-1;returnL;}/*查找*/#d......
  • uniGUI使用WebSocket
    现在的uniGUI最新版本,经过几个版本的迭代,已经完美支持WebSocket。用起来,也非常简单,默认情况下,已经打开WebSocket。打开demos中的第一个例子: C:\ProgramFiles(x86)\FMSoft\Framework\uniGUI\Demos\Desktop\WebSocket-Basic在Main单元,可以看到:1.如何广播一个消息:BroadcastM......
  • Qt/C++编写物联网组件/支持modbus/rtu/tcp/udp/websocket/mqtt/多线程采集
    一、功能特点支持多种协议,包括Modbus_Rtu_Com/Modbus_Rtu_Tcp/Modbus_Rtu_Udp/Modbus_Rtu_Web/Modbus_Tcp/Modbus_Udp/Modbus_Web等,其中web指websocket。支持多种采集通讯方式,包括串口和网络等,可自由拓展其他方式。自定义采集间隔(精确到毫秒)和超时次数,超时后自动将离线的文件......
  • 同花顺期货通使用python写指标demo1
    期货通支持python本来是个好事情。奈何同花顺公司做产品不讲究,未经测试就发布了,全是bug。API接口也不完善,取数据的接口不支持取【持仓量】!玩期货不提供持仓量接口,那就只能是个玩具,不具有实用价值。怎么说呢?还是希望同花顺期货通能把python功能搞完善。 ......
  • operator Demo08
    packagecom.chen.operator;//导入这个包所有的类*importcom.chen.*;//三元运算符publicclassDemo08{publicstaticvoidmain(String[]args){//x?y:zintscore=50;Stringtype=score<60?"不及格":"及格";//必须掌握......
  • operator Demo07
    packagecom.chen.operator;publicclassDemo07{publicstaticvoidmain(String[]args){inta=10;intb=20;a+=b;//a=a+ba-=b;//a=a-bSystem.out.println(a);//字符串链接符+,String......