如何禁用套接字的纳吉尔算法?

1 投票
1 回答
2926 浏览
提问于 2025-04-15 17:00

我正在写一些Python代码,现在遇到问题了。

我觉得可能是这个“纳格尔算法”导致了问题,因为我的数据包在发送到客户端时总是有些延迟。

我在客户端和服务器上都试过这个算法,但似乎没有效果(或者还有其他问题导致这个情况):

socketobj.setsockopt(socket.IPPROTO_TCP, socket.TCP_NODELAY, 1)

有没有什么想法?

补充说明:我的问题的详细解释可以在这里找到: http://www.gamedev.net/community/forums/topic.asp?topic_id=554172&whichpage=1&#3572589

1 个回答

0

我对Python的套接字不太熟悉,但它有没有一个叫做flush的方法呢?即使关闭了Nagle算法,大多数套接字的实现还是会在你没有写够一定数量的字节时进行缓存。不过,如果你调用flush,这些字节应该会立刻被发送出去。

撰写回答