Нужно ли Socket.flush () после чтения данных? - PullRequest
0 голосов
/ 11 декабря 2010

У меня проблемы с проектом, в котором интенсивно используются сокеты с Smartfox Server.Иногда в Chrome данные сокетов, кажется, содержат предыдущие данные (сообщения от SFS в двойном формате).

В любом случае, мой вопрос довольно прост;каждый раз, когда вы читаете данные из сокета, вы должны вызывать метод flush () после?Я знаю, что настоятельно рекомендуется делать это при отправке данных.

....
socket.addEventListener(ProgressEvent.SOCKET_DATA, handleSocketData);
....

private function handleSocketData(evt:Event):void
{
    var o:Object = socket.readObject();
    ....
    socket.flush(); // is that necessary???
}

Ответы [ 3 ]

2 голосов
/ 11 декабря 2010
0 голосов
/ 11 декабря 2010

Мы также используем Sockets во Flash с сервером SFS.и мы никогда не очищаем сокет после чтения, мы только очищаем его (и должны делать) после записи в его байтовый буфер.

0 голосов
/ 11 декабря 2010

Нет, вы должны прочитать данные ответа что-то вроде -

  while ( socket.bytesAvailable ) {
        var data:String = socket.readUTF();
        Alert.show(data);
  }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...