WebScoket前后端环境搭建,服务器单向传输数据

原创
03/25 21:47
阅读数 135

这次搭建的需求是springboot+selenium+firefox爬取数据,得到数据单向向客户端传输数据

前端

 var websocket = null;
      //判断当前浏览器是否支持WebSocket
      if ("WebSocket" in window) { 
         //可以直接使用服务器公网ip地址,如果需要使用域名需要另外设置
         websocket = new WebSocket("ws://127.0.0.1:8080/websocket");
      } else {
        alert("当前浏览器 Not support websocket");
      }
      websocket.onerror = function() {
        setMessageInnerHTML("WebSocket连接发生错误");
      };

      //连接成功建立的回调方法
      websocket.onopen = function() {
        console.log("连接成功!");
      };

      //接收到消息的回调方法
      websocket.onmessage = e => {
      
      };

java后端

配置WebStock服务,这里用maven打包不能测试,测试会报错,打包的时候要跳过测试

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.socket.server.standard.ServerEndpointExporter;
//开启Webscoket服务
@Configuration
public class WebScoketConfig {
    @Bean
    public ServerEndpointExporter serverEndpointExporter() {
        return new ServerEndpointExporter();
    }
}

 核心代码

    //与某个客户端的连接会话,需要通过它来给客户端发送数据,用户触发OnOpen返回的对象
    private Session session;

    //用户连接触发的方法
    @OnOpen
    public void onOpen(Session session) {
        //这里的session是客户端打开连接传递过来的参数
        this.session = session;
        System.out.println("连接服务器成功!");
    }

    //发送消息触发方法
    @OnMessage
    public void onMessage(String a) {
        //通过当前打开连接的客户对象返回数据
        session.getAsyncRemote().sendText(a);
    }

    //断开连接触发方法
    @OnClose
    public void onClose() {
        System.out.println("用户断开连接!");
    }

    //发生错误时触发的方法
    @OnError
    public void onError(Throwable error) {
        System.out.println(error);
    }

 

展开阅读全文
打赏
0
0 收藏
分享
加载中
更多评论
打赏
0 评论
0 收藏
0
分享
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部