[問題] winsock網路程式
最近用winsock模擬P2P檔案傳輸的功能
socket用block模式
發送端開thread
作fread 然後send
接收端也開thread
作recv 然後fwrite
發現recv接收到的packet內容常常是錯誤的
也就是和發送端丟出的內容不一致
導致程式錯誤
後來想說在send之前用Sleep來作delay
情況改善很多
而且delay的時間越長 收到錯誤封包的機率越低
我認為在block mode下send命令
winsock底層應該會幫你handle所有資料傳輸的細節(hand shaking,error checking...)
才對
我們只要把資料填到struct裡 再呼叫send就好了
但是事實卻是接收到的packet內容常常是錯誤的
也就是和發送端丟出的內容不一致
請問這是為什麼?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 218.167.201.37
討論串 (同標題文章)
Programming 近期熱門文章
PTT數位生活區 即時熱門文章