Was bedeutet das Ende Der Datei auf a-Buchse gemeint?
Mit Action Script 3 in Flex Builder 3.
Beim Umgang mit SOCKET_DATA Ereignis, das ich gelegentlich, scheinbar zufällig, erhalten eine "Fehler #2030: Ende der Datei aufgetreten." beim Aufruf von socket.readInt(). Ich bin verwirrt, was dieser Fehler bedeutet, da bin ich nicht einer Datei zu Lesen? Ich bin ein wenig unfamilier mit sockets. Danke.
InformationsquelleAutor AaronLS | 2009-08-24
Du musst angemeldet sein, um einen Kommentar abzugeben.
beim Lesen aus einer socket, der geschlossen wird, erhalten Sie:
Error #2002: Operation attempted on invalid socket.
Ende-der-Datei-Fehler treten normalerweise auf jedem bytestreams, wenn Sie Lesen Sie mehr bytes als verfügbar ... dies ist der Fall für Dateien, sockets, etc. ... im Falle von flash, es tritt auf, wenn das Lesen von einem
Socket
oder eineByteArray
- und vielleicht auch in anderen Fällen ...TCP/IP-Paket basierte, sondern emuliert einen stream ... so können Sie nur die Daten Lesen aus dem stream, das wurde bereits an Sie gesendet werden mit der TCP-Pakete ... check
Socket::bytesAvailable
um herauszufinden, wie viele bytes aktuell verfügbar sind ... immer im Hinterkopf behalten, dass die Daten, die Sie schreiben, um den sockel in einem Arbeitsgang, kommen auch in mehrere Pakete, die jeweils sehr wahrscheinlich verursacht von flash player ausgelöstsocketData
Veranstaltungen ...greetz
back2dos
InformationsquelleAutor back2dos
Ende-der-Datei-Fehler bedeutet in der Regel die andere Seite der socket geschlossen hat, Ihre Verbindung, IIRC.
Der Grund, warum es die end-of-Datei ist, dass auf einem sehr niedrigen Niveau innerhalb eines Programms, einer Datei auf der Festplatte und eine Buchse sind vertreten mit einem Zahl-und einem die Datei-descriptor -, dass die OS übersetzt in das Objekt repräsentiert eine Datei oder ein socket oder eine pipe oder was auch immer.
In der Regel können Sie vermeiden, diese Art von Fehler durch die Prüfung, wenn Sie nur Lesen ein EOF. Wenn Sie haben Lesen ein EOF, und Sie versuchen das Lesen aus dem socket/Datei wieder, dann erhalten Sie einen EOF-Fehler.
Update: Nach die ActionScript-9.0-Dokumentation, Sie erhalten in der Tat ein close-Ereignis aus, wenn das andere Ende schließt den socket.
gutes Ahnen, aber nicht wahr, im Fall der flash-player ... siehe meine Antwort ...
InformationsquelleAutor Mark Rushakoff