我試圖從Firefox發送一些數據到java桌面應用程序.so我的java類作爲服務器和Firefox腳本工作作爲客戶端。當我測試它使用另一個java類是client.java
數據成功發送到server.java
如何當我使用這個Firefox腳本發送數據,它實際上連接到服務器。但send("text");
不工作實時。我的意思是接收服務器顯示數據當我關閉插座socket.close();
。但我知道server.java
代碼沒有問題。由firefox發送的數據socket.send()無法檢索,直到關閉套接字
這不起作用
setTimeout(function(){socket.send("i'm firefox");},5000); // because socket isn't closed yet
這項工作
setTimeout(function(){socket.send("i'm firefox");},5000);
setTimeout(function(){socket.close();},6000);
,但我真的不想關閉套接字,因爲我想通過一個發送大量的數據之一。
這裏是暫存器[-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.
我認爲Java代碼是不是important.but here它是測試的完整代碼。
我在問爲什麼我需要關閉套接字發送數據?以及如何在不關閉套接字的情況下發送數據?
更新
i made a Gif在這裏展示我的問題,你可以看到數據未發送實時但當套接字關閉所有的數據刷新。
ohh非常感謝你。我從來沒有想過這件事。我認爲我的插件腳本有問題。 –
我沒有看到它馬上:)高興地幫助 – cviejo