[問題] 關於Linux socket的問題

看板LinuxDev作者 (working for what?)時間16年前 (2009/02/19 23:40), 編輯推噓4(403)
留言7則, 6人參與, 最新討論串1/1
請問大家利用Linux socket作TCP/IP傳輸時有沒有遇過收錯資料的情形? 我用socket APIs寫了一對server和client的程式,並透過TCP/IP作communication 兩支程式跑在同一台電腦上用127.0.0.1這個IP作測試 這兩支程式在我的NB上跑一切正常,但是一移植到PC上就出問題了 client送出資料後server有接收到資料,但是收到的資料是錯的 ex: client送出0x00000001 但是server收到的是0x00000000 本來以為是firewall在作怪,可是把firewall關掉後問題還是沒有解決 我想請問有什麼原因可能會發生這種現象? thx!! ps1 我的NB和PC系統都是ubuntu 8.04 但是NB是64-bits的;PC是32-bits的 不過我想這應該不會影響到吧?  畢竟用x86_64-gcc和x86-gcc作compile都沒有問題 ps2 因為某些原因,所以不太方便把code貼出來給大家看 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.59.105.115

02/20 10:23, , 1F
int 長度不同吧
02/20 10:23, 1F
server和client都是run在同一台電腦上 所以應該不是這個原因 ※ 編輯: SILee 來自: 140.116.164.216 (02/20 17:39)

02/20 22:09, , 2F
你的 code 中考慮的 errno 有哪幾種?
02/20 22:09, 2F

02/20 22:10, , 3F
socket 會掛, 原因有很多, errno 沒考慮完整是很容易發生的
02/20 22:10, 3F

02/22 01:15, , 4F
用 wireshark 或 tcpdump 看一下到底是發還是收的問題
02/22 01:15, 4F
我用這個方法去monitor 結果wireshark抓出來的問題是client送出去的packet有checksum error 我並不是用RAW socke自己包packet傳資料 所以checksum是OS自己算的啊...怎麼會出錯? 一整個詭異 ※ 編輯: SILee 來自: 140.116.164.97 (02/23 13:05)

02/23 19:22, , 5F
我的筆電的網卡用wireshark也常常遇到checksum error...
02/23 19:22, 5F

02/26 22:35, , 6F
我電腦的網卡也是常常看到 checksum error..
02/26 22:35, 6F

02/27 12:12, , 7F
checksum 在 wireshark 上顯示錯誤有可能是 offloading ..
02/27 12:12, 7F
文章代碼(AID): #19dNrqX4 (LinuxDev)
文章代碼(AID): #19dNrqX4 (LinuxDev)