java websocket 客户端 WebsocketNotConnectedException

技术交流QQ群933925017
org.java_websocket.exceptions.WebsocketNotConnectedException
java webSocket 异常

1.websocket 接入 maven

<!--websocket作为客户端-->
		<dependency>
			<groupId>org.java-websocket</groupId>
			<artifactId>Java-WebSocket</artifactId>
			<version>1.3.5</version>
		</dependency>
2.自定义 MyWebSocket类
import lombok.extern.slf4j.Slf4j;
import org.java_websocket.client.WebSocketClient;
import org.java_websocket.handshake.ServerHandshake;

import java.net.URI;

@Slf4j
public class MyWebSocketClient extends WebSocketClient {
    public MyWebSocketClient(URI serverUri) {
        super(serverUri);
    }
    @Override
    public void onOpen(ServerHandshake serverHandshake) {
      log.info("onOpen" + serverHandshake.getContent().toString());
    }

    @Override
    public void onMessage(String s) {
        log.info("onMessage" + s);
    }

    @Override
    public void onClose(int i, String s, boolean b) {
        log.info("onClose" + s);
    }

    @Override
    public void onError(Exception e) {
        log.info("onError" + e.getMessage());
    }
}
3.建立连接
String url = "wss://channel2.cspid.cn/api/v1/control/ws-talk/34020000001320000010/32068250001320000089?format=pcm";
        MyWebSocketClient myWebSocketClient = new MyWebSocketClient(new URI(url));
        myWebSocketClient.setConnectionLostTimeout(5000);
        myWebSocketClient.connect();

//        while (!myWebSocketClient.getReadyState().equals(WebSocket.READYSTATE.OPEN)) {
//            log.debug("连接中···请稍后");
//        }
        log.info("连接中....");
        Thread.sleep(5000);
        WebSocket.READYSTATE readyState = myWebSocketClient.getReadyState();
        log.info("readyState:" + readyState);
        if (readyState != WebSocket.READYSTATE.OPEN){
            myWebSocketClient.close();
            log.info("连接失败");
            return;
        }
        myWebSocketClient.send("abc");

ps 连接需要时间需要让当前线程等待一会即可

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值