socket.io与JAVA
你好,同志们,我是java新手 我正在尝试使用Socket.io编写一个运行在NodeJS上的JavaScript服务器,该服务器与用JAVA编写的客户机通信 我对服务器端没有问题,因为我尝试使用JavaScript客户端,所以我假设问题来自我的java客户端 我的客户端有以下错误:socket.io与JAVA,java,websocket,socket.io,Java,Websocket,Socket.io,你好,同志们,我是java新手 我正在尝试使用Socket.io编写一个运行在NodeJS上的JavaScript服务器,该服务器与用JAVA编写的客户机通信 我对服务器端没有问题,因为我尝试使用JavaScript客户端,所以我假设问题来自我的java客户端 我的客户端有以下错误: io.socket.SocketIOException: Error while handshaking at io.socket.IOConnection.handshake(IOConnection.j
io.socket.SocketIOException: Error while handshaking
at io.socket.IOConnection.handshake(IOConnection.java:322)
at io.socket.IOConnection.access$600(IOConnection.java:39)
at io.socket.IOConnection$ConnectThread.run(IOConnection.java:199)
Caused by: java.io.IOException: Server returned HTTP response code: 400 for URL: http://localhost:8000/socket.io/1/at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(Unknown Source)
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source)
at io.socket.IOConnection.handshake(IOConnection.java:313)
public class BasicExample implements IOCallback {
private SocketIO socket;
public static void main(String[] args) {
try {
new BasicExample();
} catch (Exception e) {
e.printStackTrace();
}
}
public BasicExample() throws Exception {
socket = new SocketIO();
socket.connect("http://localhost:8000", this);
// Sends a string to the server.
socket.send("Hello Server");
// Emits an event to the server.
socket.emit("event", "ILYES");
}
@Override
public void onMessage(JSONObject json, IOAcknowledge ack) {
try {
System.out.println("Server said:" + json.toString(2));
} catch (JSONException e) {
e.printStackTrace();
}
}
@Override
public void onMessage(String data, IOAcknowledge ack) {
System.out.println("Server said: " + data);
}
@Override
public void onError(SocketIOException socketIOException) {
System.out.println("an Error occured");
socketIOException.printStackTrace();
}
@Override
public void onDisconnect() {
System.out.println("Connection terminated.");
}
@Override
public void onConnect() {
System.out.println("Connection established");
}
@Override
public void on(String event, IOAcknowledge ack, Object... args) {
System.out.println("Server triggered event '" + event + "'");
}
}
这是我的代码(客户端):
您使用哪个版本的node.js?根据这篇文章,Gotox客户端需要一个旧版本的node.js(例如0.9.16):node版本是v8.9.4,socket.io版本是2.1.0