【发布时间】:2015-07-05 02:08:29
【问题描述】:
我无法使用来自gottox 的 socket.io-java-client 从 java 连接到我的 node.js 服务器。我遵循了来自 bejaminn here 的 socket.io v. 1.0.6 的构建建议。
这是我的连接命令:
socket.connect("http://192.168.1.7:8000/", this);
这是产生的错误:
an Error occured
io.socket.SocketIOException: Error while handshaking
at io.socket.IOConnection.handshake(IOConnection.java:323)
at io.socket.IOConnection.access$7(IOConnection.java:293)
at io.socket.IOConnection$ConnectThread.run(IOConnection.java:200)
Caused by: java.io.IOException: Server returned HTTP response code: 400 for
URL: http://192.168.1.7:8000/socket.io/1/player
at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1839)
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1440)
at io.socket.IOConnection.handshake(IOConnection.java:314)
... 2 more
Jul 03, 2015 11:08:38 AM io.socket.IOConnection cleanup
INFO: Cleanup
从javascript使用socket.io npm模块我可以正常连接。
var socket = io("http://" + location.host + "/player", {reconnection: false});
请注意,javascript 客户端首先从 192.168.1.7:8000 请求一个 html 页面,该页面下载上面的 js,然后在上面的行中建立 websocket 连接。
我的 java 客户端连接有什么问题?
【问题讨论】:
-
返回的 HTTP 响应代码:400 ,听起来像是错误请求 w3.org/Protocols/rfc2616/rfc2616-sec10.html