作者BIAO (超越自己)
看板C_and_CPP
標題[問題] Windows I/O接收端總是少第一筆資料?(已解決)
時間Mon Oct 5 10:41:19 2015
開發平台(Platform): (Ex: VC++, GCC, Linux, ...)
Windows
--
想請問各位板友,
在做I/O傳輸資料時,第一筆資料總是會遺失,
後續的資料皆能正常傳輸。
發送端WriteFile的第四個參數列印出來有bytes,
但是接收端ReadFile返回時,第四個參數列印顯示接收0bytes,
用關鍵字上網查詢後發現有類似狀況的問答不多,
想請教板上先進是否有遇過同樣狀況,又是如何解決的呢?
懇請板友不吝指導,謝謝大家。
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 60.251.183.149
※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1444012883.A.04B.html
→ stupid0319: 先檢查看看第一筆有沒有送出吧,說不定有BUG 10/05 11:42
→ BIAO: 請問如何查呢? 謝謝您。 10/05 12:04
推 stupid0319: ollydbg 10/05 12:24
謝謝s大提供軟體資訊。
另問題已經解決,提供經驗回饋...原因是接收端的WriteFile有採用重疊IO,
而接收端的ReadFile並無採用(即最後參數為NULL),
早先這樣使用並無問題,但就在我將程式改為多執行緒後,
這個問題才出現,應該也很少有人像我這樣亂用 XD
※ 編輯: BIAO (60.251.183.149), 10/06/2015 10:21:05
※ 編輯: BIAO (60.251.183.149), 10/06/2015 10:21:35