Как заставить UDP-сервер постоянно получать дейтаграммы в Python - PullRequest
0 голосов
/ 07 мая 2020

Я создаю серверный и клиентский сокеты в Python. Мне удалось отправить датаграммы между ними, но мне нужно настроить сервер на постоянное прослушивание сообщений UDP, но я не могу понять, как это сделать. Я видел функцию serve_forever (), но когда я вхожу в нее, она сообщает мне, что NameError: name serve_forever не определен. Нужно ли мне что-то импортировать или я что-то полностью пропустил? Я новичок в этом, поэтому не был уверен, нужно ли мне добавлять что-нибудь еще. Вот начало кода:

     import socket

     serverSocket = socket.socket(socket.AF_INET , socket.SOCK_DGRAM)

     UDP_IP = "localhost"
     UDP_PORT = 6842
     address = ("localhost" , 6842)

     serverSocket.bind(address)
     serve_forever()
     print ("Waiting for client...")

1 Ответ

0 голосов
/ 07 мая 2020

Я подозреваю, что вы можете заменить serve_forever() чем-то таким:

while True:
   data = serverSocket.recv(65535)
   print("Received a UDP packet containing %i bytes of data" % len(data))
...