面试题答案
一键面试在Python中,可以使用套接字对象的settimeout
方法来设置超时时间。当设置超时后,在recv
方法调用时如果发生超时,会抛出socket.timeout
异常。以下是示例代码:
import socket
# 创建套接字对象
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 设置超时时间为5秒
sock.settimeout(5)
try:
# 连接服务器
sock.connect(('127.0.0.1', 12345))
data = sock.recv(1024)
print(f"接收到的数据: {data.decode('utf-8')}")
except socket.timeout:
print("接收数据超时,未在规定时间内接收到数据")
finally:
sock.close()