from socket import socket, AF_INET, SOCK_DGRAM
def udp_server(host='localhost', port=3000, buffersize=4096, public=False):
host = '0.0.0.0' if public else host
address = (host, port)
with socket(AF_INET, SOCK_DGRAM) as s:
s.bind(address)
while True:
data, address = s.recvfrom(buffersize)
print('Received:\t{} from {}'.format(data, address))
def upload_data(payload, host='localhost', port=3000):
"""Upload data to server."""
if payload:
try:
s = socket(AF_INET, SOCK_DGRAM)
s.sendto(bytearray(payload), (host, port))
finally:
s.close()
Запустить сервер на интерпретаторе.Затем, с другой стороны, вызовите `upload_data (b'hello ').
Обратите внимание, хорошо, если вы воспользуетесь контекстным менеджером, предоставляемым сокетом, чтобы убедиться, что все закрыто, когда вы закончите.