gpt4 book ai didi

python - python中的TCP连接。您知道如何在套接字等待接受连接请求时打印计时器吗?

转载 作者:可可西里 更新时间:2023-11-01 02:34:38 27 4
gpt4 key购买 nike

我在套接字中设置了一个定时器。如果它在 30 秒内没有收到任何连接请求,则程序结束。无论如何,我想将这 30 秒作为计时器打印到标准输出中,以便用户可以看到还剩多少秒。如果在定时器到期之前有连接请求,我想停止定时器并继续执行代码,就好像什么都没有发生过一样。有什么帮助吗?这是我的代码片段:

while True:

try:
s_TCP.settimeout(30)
print ("Waiting for a connection...")
s_TCP.listen(1)

#I'd like to set the timer here

connection, addr= s_TCP.accept()
print ("\nConnection established")


except socket.timeout:
print ("Timer expired")
s_TCP.close()
sys.exit()

except socket.error:

print ("Couldn't connect to the client")
s_TCP.close()
sys.exit()

提前致谢!

最佳答案

简单的答案是设置较短的超时并尝试接受几次。因为套接字已经在监听,所以在accept 调用“之间”不会丢失任何连接尝试。请记住在接受连接后将超时重置为任何更大的值。

关于python - python中的TCP连接。您知道如何在套接字等待接受连接请求时打印计时器吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54051443/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com