我有一个使用TCP从设备读取数据包的应用程序。我想知道我的接收器应用程序是否使用TCP_NODELAY选项创建套接字,设备是否会自动开始发送数据包而不缓冲它们,或者我是否必须在发送方(设备)上进行此更改?
答案 0 :(得分:2)
设置TCP_NODELAY只会影响发送的时间。它对传入的信息没有影响。
但是,我应该指出,大多数因某种原因需要设置TCP_NODELAY的人都做错了。除非你无法控制协议,并且协议不是设计用于TCP,否则使用TCP_NODELAY可能是错误的。与keepalive一样,TCP_NODELAY的存在允许不设计为通过TCP工作的协议这样做不那么糟糕。如果这不能描述您的情况,那就是错误的解决方案。