java 接受sockjs服务数据

1、pom引入

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

2、创建SockJsClient类,调用回调类MyHandler,定时任务开启,注入url

public class LightMWServiceImpl implements IbmsLightService {

@Resource
private MyHandler myHandler;

private String url;

public String getUrl() {
    return url;
}

public void setUrl(String url) {
    this.url = url;
}


public void syncLightItemStatusTimeTask(){
    this.initSocket();
}
public void initSocket(){
     List<Transport> transports = new ArrayList<>(1);
    transports.add(new RestTemplateXhrTransport());
    SockJsClient sockJsClient = new SockJsClient(transports);
    sockJsClient.doHandshake(myHandler, url);
}
}

3、处理类

@Component
public class MyHandler implements WebSocketHandler {

@Resource
private TransferStationService transferStationService;

 //发送指令
@Override
public void afterConnectionEstablished(WebSocketSession webSocketSession) throws Exception {
    System.out.println("connection is established!");
    JSONObject jsonObject = new JSONObject();
   webSocketSession.sendMessage(new TextMessage(jsonObject.toString()));
}
  //接受返回数据
@Override
public void handleMessage(WebSocketSession webSocketSession, WebSocketMessage<?> webSocketMessage) throws Exception {
    System.out.println(webSocketMessage);

}


@Override
public void handleTransportError(WebSocketSession webSocketSession, Throwable throwable) throws Exception {
}

@Override
public void afterConnectionClosed(WebSocketSession webSocketSession, CloseStatus closeStatus) throws Exception {
}

//链接时首先调用
@Override
public boolean supportsPartialMessages() {
    return false;
}

}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容