data send by firefox tcp socket.send () kann nicht abgerufen werden, bis der Socket geschlossen wird
Ich versuche, einige Daten von Firefox an die Java-Desktop-Anwendung zu senden. Also funktioniert meine Java-Klasse als Server und das Firefox-Skript als Client. Wenn ich es mit einer anderen Java-Klasse teste, die @ iclient.java
Daten erfolgreich an @ gesendserver.java
Wie auch immer, wenn ich dieses Firefox-Skript zum Senden von Daten verwende, wird tatsächlich eine Verbindung zum Server hergestellsend("text");
funktioniert nicht in Echtzeit .Ich meine, Server zeigt empfangene Daten, wenn ich den Socket schließe.socket.close();
. aber ich weiß, es gibt kein Problem mitserver.java
code.
dies funktioniert nicht
setTimeout(function(){socket.send("i'm firefox");},5000); // because socket isn't closed yet
diese Arbei
setTimeout(function(){socket.send("i'm firefox");},5000);
setTimeout(function(){socket.close();},6000);
Aber ich möchte den Socket wirklich nicht schließen, weil ich viele Daten nacheinander senden möchte.
hier ist der komplette Code auf Scratchpad getestet [-browser]
var tcpSocket = Cc["@mozilla.org/tcp-socket;1"].createInstance(Ci.nsIDOMTCPSocket);
var socket = tcpSocket.open("127.0.0.1", 5000);
setTimeout(function(){socket.send("i'm firefox");},5000);
//setTimeout(function(){socket.close();},8000);// i'm firefox text retrieve by server when run this line / when close the socket.
Ich denke, Java-Code ist nicht wichtig. AberHie es ist
Ich frage, warum muss ich den Socket schließen, um Daten zu senden? und wie kann ich daten senden ohne den socket zu schließen?
aktualisierei hat ein Gif gemachtm mein Problem hier zu zeigen, können Sie sehen, dass Daten nicht in Echtzeit gesendet werden, aber wenn der Socket geschlossen ist, werden alle Daten gelösch