[問題] socket recv 問題-已解決
開發平台(Platform): (Ex: VC++, GCC, Linux, ...)
Ubuntu 12.04 g++
額外使用到的函數庫(Library Used): (Ex: OpenGL, ...)
均為標準
問題(Question):
TCP socket
手上有個socket程式,server端會當accept一個連線之後
就會create一個thread去收這個連線的資料
要傳送的封包中有一個自己定義的表頭,裡面紀錄了後面資料的長度
因此server在recv時候會先收自訂表頭大小(12bytes)
再根據表頭中資料長度來收後續的資料(1328bytes)
跑著跑著~悲劇就發生了
就是某一個表頭裡面資料就跑掉了,長度變成很大的數字
所以就會導致要收後續之資料掰掉
請問會什麼樣的情況導致收起來是錯的??
程式碼(Code):(請善用置底文網頁, 記得排版)
http://ideone.com/uChnoB
補充說明(Supplement):
程式碼是這個thread收資料的部分
謝謝大家
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 59.120.38.126
→
12/06 15:20, , 1F
12/06 15:20, 1F
→
12/06 15:20, , 2F
12/06 15:20, 2F
→
12/06 15:21, , 3F
12/06 15:21, 3F
→
12/06 15:22, , 4F
12/06 15:22, 4F
→
12/06 15:22, , 5F
12/06 15:22, 5F
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章