Я пытался закодировать клиент / сервер UDP на python (как видно внизу).Код работает и работает.Но я полагаю, что с строкой что-то не так:
try:
data, server = client_socket.recvfrom(1024) **# THIS LINE**
end = time.time()
elapsed = end - start
print(f'{data} {pings} {elapsed}')
Когда я запускаю код, он распечатывает счетчик, текущее время и «ЗАПРОС ВРЕМЕНИ» десять раз, как мне хотелось бык.Я не имею понятия почему!Я так много исследовал и пробовал чужой код, но ни один из них не работает!Пожалуйста помоги!
Сервер:
import random
from socket import *
serverSocket = socket(AF_INET, SOCK_DGRAM)
serverSocket.bind(('', 12000))
while True:
rand = random.randint(0, 10)
message, address = serverSocket.recvfrom(1024)
message = message.upper()
if rand < 4:
continue
serverSocket.sendto(message, address)
Клиент:
import time
import socket
count = 0
for pings in range(10):
client_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
client_socket.settimeout(1.0)
message = b'test'
address = ("127.0.0.1", 12000)
start = time.time()
client_socket.sendto(message, address)
count = count +1
print(count, "\n", "current time: ", start)
try:
data, server = client_socket.recvfrom(1024)
end = time.time()
elapsed = end - start
print(f'{data} {pings} {elapsed}')
except socket.timeout:
print('REQUEST TIMED OUT')