作者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