为socket通信添加超时机制

socket超时设置命令如下:

udp_client = socket(AF_INET,SOCK_DGRAM)

udp_client.settimeout(1)   #设置socke超时时间,单位为秒;这儿为1秒。

这样在执行后面的socket接收语句:

data,addr= udp_client.recvfrom(BUFSIZ) #如果在socket超时时间内没有收到数据,则进行下一条语句。

时,如果在1秒内没有接收到对方数据,则退出当前阻塞,进入下一条程序语句的执行。如果没有设置超时时间,则会一直阻塞在这条socket接收语句,后面的程序不会执行。

============

另外,获取当前socket的超时时间命名为:

gettimeout()

按上例,则为udp_client.gettimeout()

你可能感兴趣的:(python)