我正在尝试使用TooTallNate的Java-Websocket连接到OkCoin。我在某个地方找到了这个简单的代码示例,但我无法让它工作。连接立即关闭,因此呼叫mWs.send(...)
会引发WebsocketNotConnectedException
。我无法弄清楚为什么;到目前为止,我发现了许多类似的问题,其中没有一个有答案。
import org.java_websocket.client.WebSocketClient;
import org.java_websocket.handshake.ServerHandshake;
import org.json.JSONObject;
import java.net.URI;
import java.net.URISyntaxException;
public class TestApp {
public static void main(String[] args) {
try {
URI uri = new URI("wss://real.okcoin.cn:10440/websocket/okcoinapi");
final WebSocketClient mWs = new WebSocketClient(uri) {
@Override
public void onMessage(String message) {
JSONObject obj = new JSONObject(message);
}
@Override
public void onOpen(ServerHandshake handshake) {
System.out.println("opened connection");
}
@Override
public void onClose(int code, String reason, boolean remote) {
System.out.println("closed connection");
}
@Override
public void onError(Exception ex) {
ex.printStackTrace();
}
};
mWs.connect();
JSONObject obj = new JSONObject();
obj.put("event", "addChannel");
obj.put("channel", "ok_btccny_ticker");
mWs.send(obj.toString());
} catch (URISyntaxException e) {
System.err.println("URI not formatted correctly");
}
}
}