原始套接字绕过tcp/ip头

eat*_*mon 0 c sockets linux optimization tcp

我有两个程序通过同一台计算机上的套接字进行通信.目前使用TCP/IP传输160万字节大约需要7秒.我需要快速做到.

如果我使用原始套接字而忽略TCP/IP标头,那么这应该提高速度吗?我还能做些什么来提高速度吗?SOCKET_RAW选项是直接复制还是其他任何操作?

Jon*_*eet 6

1.6MB使用"普通"TCP/IP不应该花7秒 - 当然不能在同一台机器上!这表明你在某处有低效的代码.在尝试在网络方面做任何"特殊"之前,我会先解决这个问题.

编辑:我刚刚在上网本上写了一个简短的C#程序,它在279ms内传输2MB(随机生成数据).这没有优化.除非你的机器上,从上世纪80年代跑,你应该肯定会得到比这更好的性能...