2013-07-27 45 views
2

我有一個基於網絡的多人遊戲。它會不時發生,因爲服務器沒有得到來自客戶端的預期消息,所以有人被踢出去。從我的日誌看來,客戶端沒有斷開連接,只是沒有發送消息或服務器沒有收到它。我的問題在於「這些事情是否經常發生?」我是否應該使用某種回調機制來確保郵件已發送,如果不發送,或者是否存在某些我不知道的問題?sockets.io發射有時會失敗嗎?

+0

相關信息[**可靠的消息在socket.io?**](http://stackoverflow.com/questions/9578134/reliable-messaging-under-socket-io/15590367#15590367) –

+0

@BenjaminGruenbaum謝謝你這個偉大的職位。但是這與斷開連接有關,對於我的問題,連接沒有中斷(Web套接字)。看來,有時socket.io無法成功發送消息... –

+0

這就是爲什麼我說這是相關的,upvoted這個問題,而不是提名這個問題的結束,一個相關的職位和一個副本是兩個非常不同的東西:)它是一個不同的問題,主題本身是相關的。關鍵是 - 沒有可靠的方法來確保郵件傳遞成功。我確信有人會提供更實用的socket.io建議,並提出實際的策略來處理您的案例中的問題。你所說的「回調機制」在你的意思上並不存在。無論如何,我會在這裏跟蹤答案,祝你好運! –

回答

0

socket.io已經提供了在TCP之上的ACK和消息ID跟蹤。
另外,socket.io使用ping來檢查連接。所以,如果你說客戶端沒有斷開連接,並且服務器告訴客戶端沒有斷開連接,那麼連接仍然存在。
該問題必須位於其他地方。
您確定實施的任一部分沒有錯誤嗎?顯示一些代碼片段可能會有所幫助,以及您正在使用的環境。