Я пытаюсь отправить некоторые данные из Firefox в приложение для Java-приложений. Так что мой класс java работает как сервер, а скрипт Firefox работает как клиент. Когда я тестирую его, используя другой класс java, который является client.java
, данные успешно отправлены в server.java
, как когда-либо, когда я использую этот сценарий firefox для отправки данных, он фактически подключается к серверу .but send("text");
не работает в реальном времени. данные, когда я закрываю сокет socket.close();
. но я знаю, что нет проблем с кодом server.java
.данные, отправленные firefox tcp 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