技术交流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 连接需要时间需要让当前线程等待一会即可