2012-12-03 22 views
0

我製作了一個基本的tic-tac-toe腳趾客戶端 - 服務器遊戲,我試圖讓它正常工作。它的工作原理非常好,但是一旦我循環回去嘗試播放recv()就會失靈(我的客戶端發送的東西本來應該是之前發送的一個send()命令)。 我看了我的代碼好一個小時左右,我無法弄清楚爲什麼。第一次傳遞後recv()/ send()失靈

正如你可能會告訴我,我是新來的套接字和一般的TCP編程,所以我不知道如何處理這個。

有關如何解決此問題的任何提示?

+1

需要示例代碼。 –

+0

示例代碼將會有所幫助。 –

回答

1

你還沒有發佈代碼,但根據你的說法判斷。012vrecv()不能確保它會讀取其他程序的send()發送的所有數據。 它只是返回讀取的字節數。所以你需要保持計數並確保你已經閱讀了所有內容。 簡而言之,您將必須使用某些預定義的協議來處理雙方讀取和寫入的字節數。如果你還沒有,我建議你在這本書上寫一本好書,這真的會有幫助。