在Flex Builder 3中使用動作腳本3.套接字上的文件結尾是什麼意思?
當處理SOCKET_DATA事件時,我偶爾看到隨機出現「Error#2030:End of file was encountered。」。當調用socket.readInt()。我對這個錯誤意味着什麼感到困惑,因爲我沒有閱讀文件?我有點不喜歡插座。謝謝。
在Flex Builder 3中使用動作腳本3.套接字上的文件結尾是什麼意思?
當處理SOCKET_DATA事件時,我偶爾看到隨機出現「Error#2030:End of file was encountered。」。當調用socket.readInt()。我對這個錯誤意味着什麼感到困惑,因爲我沒有閱讀文件?我有點不喜歡插座。謝謝。
閱讀關閉套接字時,即關閉,您將獲得:Error #2002: Operation attempted on invalid socket.
結束文件錯誤通常發生在任何字節流,如果你看過比可用多個字節...這是情況文件,插座等...閃光燈的情況下,從Socket
或ByteArray
,甚至在其他情況下閱讀時......
TCP/IP是基於包這樣的情況,但是模擬的流。 ..因此,你只能讀取流中的數據,這已經發送給你與TCP包...檢查Socket::bytesAvailable
找出,目前有多少字節...始終牢記,噸帽子你寫的插座在一個操作中的數據,可以在多個包到達時,每極有可能造成閃存播放器來觸發socketData
事件......
格爾茨
back2dos
文件結束錯誤通常意味着套接字的另一端已關閉其連接IIRC。
它的最終OF-原因文件是,在一個程序中一個非常低的水平,磁盤和一個插座上的文件都代表與一個數字 - 一個file descriptor - 該操作系統翻譯成該對象表示一個文件或套接字或管道或其他。
通常情況下,您可以通過檢查是否剛剛讀取EOF來避免此類錯誤。如果您確實讀過EOF,並且您嘗試再次從套接字/文件中讀取,那麼您將收到EOF錯誤。
只需跟進其他任何人就此問題。我認爲這是因爲我一直只檢查bytesAvailable是否大於0,這是我從其他人的代碼中看到的,然後再執行readInt,這將是4個字節。所以如果只有1到3個字節的數據,readInt會以某種方式假設失敗。 – AaronLS 2009-08-25 02:06:41