Python设置tcp发送时间ou

2024-10-02 14:28:31 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图在Python中设置TCP的sosndtimeo。根据这里的socket文档(http://docs.python.org/2/library/socket.html),我似乎应该使用setsockopt。在

但是,我很难理解第三个值参数要传递什么。我尝试使用struct模块(http://docs.python.org/2/library/struct.html#module-struct),如文档所建议的那样。但是,我不确定应该使用什么结构来设置选项。有人有什么想法吗?在

(我还试着为第三个参数传递字符串和整数。)谢谢!在


Tags: 模块文档orghttpdocs参数htmllibrary
1条回答
网友
1楼 · 发布于 2024-10-02 14:28:31

底层C实现需要一个timeval结构,可以在here中找到它。它由两个long int组成,第一个表示以秒为单位的时间,第二个表示以微秒为单位的时间。在

根据结构包documentation,您可以使用格式字符串'll'创建一个包含两个长字段的结构,因此下面应该按预期设置SO-SNDTIMEO:

timeval = struct.pack(‘ll’, some_num_secs, some_num_microsecs)
sock.setsockopt(socket.SOL_SOCKET, socket.SO_SNDTIMEO, timeval)

相关问题 更多 >