【发布时间】:2016-06-22 18:08:19
【问题描述】:
我有一个 Java websocket,它不断发送一堆坐标,我想不断地从 js 客户端截取这些坐标。这是java代码的简化版本:
public static void main(String args[]) throws IOException {
final int portNumber = 2500;
System.out.println("Creating server socket on port " + portNumber);
ServerSocket serverSocket = new ServerSocket(portNumber);
while (true) {
Socket socket = serverSocket.accept();
OutputStream os = socket.getOutputStream();
PrintWriter pw = new PrintWriter(os, true);
pw.println("test");
pw.println("\r");
}
//later on close connection
pw.close();
socket.close();
}
至于我的 js 代码是这样的:
var connection;
try{
connection = new MozWebSocket('ws://localhost:2500/');
}catch(e){
connection = new WebSocket('ws://localhost:2500/');
}
connection.onopen = function () {console.log('opened');};
connection.onclose = function(evt) { console.log("closed"); };
connection.onmessage = function(evt) { console.log("message"); };
connection.onerror = function(evt) { console.log(evt); };
运行此程序后,我得到类似“WebSocket 握手期间出错:在状态行中找不到响应代码”,我知道这是一个很难从 javascript 客户端克服的问题。 因此,我想知道是否应该重新安排实现 websocket 的方式,还是应该创建一个 websocket 服务器?但我不确定它是否仍然允许我不断读取我的套接字将在所有时间广播的数据。 提前谢谢你。
【问题讨论】:
标签: javascript java sockets websocket port