如果服务器套接字中生成的rand数小于4,则我的客户端套接字将在接收数据时挂起。我需要设置超时机制以允许客户端套接字检测到“超时”,然后它将继续发送消息。
在运行服务器套接字和客户端套接字之后,错误消息如下所示:Traceback (most recent call last):
File "E:\Studying\Python workspace\Client\src\Client.py", line 34, in
data , addr = client.recvfrom(1024)
socket.timeout: timed out
服务器套接字:import random
from socket import *
serverSocket = socket(AF_INET , SOCK_DGRAM)
serverSocket.bind(('', 15000))
while True:
rand = random.randint(0, 10)
message , address = serverSocket.recvfrom (1024)
message = message.upper()
print("received message: ", message)
print("echo to address: ", address)
print(rand)
if rand < 4:
continue
print("Sending message: ", message)
serverSocket.sendto(message, address)