Ich kodiere einen WebSocket-Server in Java. Wenn ich WebSocket verwende, um eine Verbindung mit dem Server in Firefox herzustellen, fand ich zwei Verbindungen hergestellt, und eine von ihnen nie irgendwelche Daten senden ...
Meine Firefox-Version ist 15.0.1
Der gleiche Code in Chrome ausgeführt wird, ist OK, einmal verbinden, nur eine Verbindung herstellen.
Hat jemand die Probleme so?WebSocket in Firefox zwei Verbindungen herstellen
Es ist der Code des Servers:
ServerSocket svrSock = new ServerSocket();
svrSock.bind(new InetSocketAddress("0.0.0.0", 11111));
while(true) {
try {
// accept connection
Socket clientSock = svrSock.accept();
// print the socket which connected to this server
System.out.println("accept socket: " + clientSock);
// run a thread for client
new ClientThread(clientSock).start();
} catch (Exception e) {
e.printStackTrace();
}
}
Und es gibt die js Code:
var url = 'ws://localhost:11111/test/';
var ws = new WebSocket(url);
ws.onopen = function(){
console.log('connected!');
ws.send(11111);
ws.close();
};
ws.onclose = function(){
console.log('closed!');
};
Wenn ich laufen diese JS-Code in Firefox, erhalte ich in meinem Server-Konsole:
akzeptieren Socket: Socket [Adr =/127.0.0.1, Port = 56935, Localport = 11111]
akzeptieren Socket: Socket [a ddr =/127.0.0.1, port = 56936, LokalerAnschluss = 11111]
Ich habe einen Websocket-Server in C++ und ich sehe nicht, dass es zwei Verbindungen von Firefox bekommt. Welche Version verwendest du? – Wutz
Meine Firefox-Version ist 15.0.1 – takamachi
Ich mache einen einfachen Server in C, und nur eine Zeile drucken, wenn Sie eine Verbindung akzeptieren. Dort sind auch zwei Zeilen in der Konsole ausgedruckt. – takamachi