套接字超时不工作Python

时间:2018-02-09 23:26:50

标签: python sockets timeout

我是使用python和lora的noob,我想打开一个套接字等待消息,如果没有消息然后做其他事情,我的代码到目前为止是:

import struct
import sys
import time
from socket import *
n = 0
try:
    the_sock = socket(AF_INET, SOCK_STREAM)
except:
    exit('Error creating socket.')

while True:
    try:
        the_sock.settimeout(2)
        n+=1
        print("Hola"+str(n))
    except timeout:
        print("tiempo")
        break

除了超时,一切正常,我已经检查了一些答案,但代码对我来说很好,你能帮帮我吗?

1 个答案:

答案 0 :(得分:0)

socket.settimeout设置阻塞套接字操作的超时,例如socket.recv。您似乎忘记在代码中包含可能超时的阻止操作。尝试在sock.recv声明中添加对try的调用。