Ich habe eine Java-WebSocket, die sendet eine Reihe von Koordinaten, die ich von einem js-Client KONSTANT abfangen wollen. Hier ist eine vereinfachte Version des Java-Code:Javascript Client lesen von Java Web-Socket
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();
}
Was meinen js Code hier ist, wie es aussieht:
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); };
Nach dem Ausführen dies ich so etwas wie "Fehler bei der WebSocket-Handshake erhalten: In der Statuszeile wurde kein Antwortcode gefunden "und ich verstehe, dass es ein schwieriges Problem ist, das von einem JavaScript-Client zu lösen ist. Also frage ich mich, ob ich die Art, wie ich den Websocket implementiert habe, neu anordnen sollte oder ob ich stattdessen einen Websocket-Server erstellen sollte? Aber ich bin mir nicht sicher, ob es mir immer noch erlaubt, ständig die Daten zu lesen, die meine Steckdose zu allen Zeiten senden wird. Vielen Dank im Voraus.
Danke, aber wie verwende ich Ihre Klasse genau ? Ich habe versucht, zu importieren und es in den Buildpath hinzugefügt, aber ich kann nicht scheinen, neue WebSocketServer() zu finden. – Orochi1992
Welche Klasse haben Sie zum Erstellungspfad hinzugefügt? – satnam