作者SILee (working for what?)
看板LinuxDev
標題[問題] 關於Linux socket的問題
時間Thu Feb 19 23:39:04 2009
請問大家利用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
1F:→ Neo1978:int 長度不同吧 02/20 10:23
server和client都是run在同一台電腦上
所以應該不是這個原因
※ 編輯: SILee 來自: 140.116.164.216 (02/20 17:39)
2F:→ yehsd:你的 code 中考慮的 errno 有哪幾種? 02/20 22:09
3F:→ yehsd:socket 會掛, 原因有很多, errno 沒考慮完整是很容易發生的 02/20 22:10
4F:推 antontw:用 wireshark 或 tcpdump 看一下到底是發還是收的問題 02/22 01:15
我用這個方法去monitor
結果wireshark抓出來的問題是client送出去的packet有checksum error
我並不是用RAW socke自己包packet傳資料
所以checksum是OS自己算的啊...怎麼會出錯?
一整個詭異
※ 編輯: SILee 來自: 140.116.164.97 (02/23 13:05)
5F:推 TroyLee:我的筆電的網卡用wireshark也常常遇到checksum error... 02/23 19:22
6F:推 nfsnfs:我電腦的網卡也是常常看到 checksum error.. 02/26 22:35
7F:推 mecs:checksum 在 wireshark 上顯示錯誤有可能是 offloading .. 02/27 12:12