Я только начал работать с udp на python и нашел следующий клиент для общения с сервером, на котором я пишу.Мой вопрос о вызове recvfrom.Какие пакеты он получит?Будут ли получены какие-либо пакеты или произойдет какая-то регистрация, которая говорит, что я хочу получить результаты от того, на что я отправила?Мне более интересно об этом на более низком уровне, например, какие системные вызовы делаются.
#!/usr/bin/python3
# shell.py
#
# Usage:
#
# ./shell.py <IP_ADDR> <PORT>
import sys
import socket
SERVER_IP = sys.argv[1]
SERVER_PORT = int(sys.argv[2])
MAX_MESSAGE_LEN = 4096
# set up the right socket type
sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
target = (SERVER_IP, SERVER_PORT)
try:
while True:
data = input("> ")
sent = sock.sendto(data.encode('utf-8'), target)
data, server = sock.recvfrom(MAX_MESSAGE_LEN)
print(repr(server))
print("Got {}".format(data))
finally:
print("Closing socket")
sock.close()