UDP Pinger分配程序

2024-06-14 20:19:06 发布

您现在位置:Python中文网/ 问答频道 /正文

我一直在尝试用python编写UDP客户机/服务器(如下图所示)。 代码可以工作并运行。但是,我认为这条线有问题:

    try:
        data, server = client_socket.recvfrom(1024) **# THIS LINE** 
        end = time.time()
        elapsed = end - start
        print(f'{data} {pings} {elapsed}')

当我运行代码时,它会打印出计数器、当前时间和“请求超时”10次,这是我想要的。我不知道为什么!我做了很多研究,也尝试过别人的代码,但都没用!请帮忙!在

服务器:

^{pr2}$

客户:

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')

Tags: 代码服务器clientdataservertimecountsocket