2010-12-10 3 views
0

Ich habe Probleme mit einem Projekt, das Sockets mit Smartfox Server intensiv nutzt. In Chrome scheinen Socket-Daten manchmal frühere Daten zu enthalten (die Nachrichten von SFS sind doppelt vorhanden).Ist Socket.flush() nach dem Lesen von Daten erforderlich?

Wie auch immer meine Frage ist ziemlich einfach; Wann immer Sie Daten aus einem Socket lesen, sollen Sie danach die flush() Methode aufrufen? Ich weiß, dass dies dringend empfohlen wird, wenn Sie Daten senden.

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

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

Antwort

0

Nein, Sie die Antwortdaten mit so etwas wie lesen sollte -

zu
while (socket.bytesAvailable) { 
     var data:String = socket.readUTF(); 
     Alert.show(data); 
    } 
0

Wir verwenden Sockets in Flash mit SFS-Server. und wir leeren den Socket nach dem Lesen nie, wir leeren ihn nur (und müssen es tun), nachdem wir in seinen Byte-Puffer geschrieben haben.

Verwandte Themen