Отправлять сообщения с использованием пакетов UDP

Реализация отправки коротких текстовых сообщений с использованием пакетов UDP очень проста и обеспечивает очень легкий канал обмена сообщениями. Но у этой модели есть большой недостаток, то есть надежность данных не гарантируется, возможна потеря пакетов, и даже серьезная ситуация состоит в том, что ваше сообщение будет полностью потеряно, когда сервер недоступен. Но эта задача может быть очень полезной в некоторых ситуациях:

Вас не волнует, потеряно ли сообщение;
вы не хотите завершать программу только потому, что сообщение не может быть доставлено;

server.py
import socket
port = 8081
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
s.bind(("", port))
print "waiting on port:", port
while 1:
   data, addr = s.recvfrom(1024)
   print data

---

client.py
import socket
port = 8081
host = "localhost"
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
s.bind(("", 0))
s.sendto("Holy Guido! It's working.", (host, port))

Также есть напоминание, не используйте указанную выше программу для отправки большого количества пакетов, особенно в Windows. Если вы хотите отправить большое сообщение, вы можете сделать это:

BUFSIZE = 1024
while msg:
    s.sendto(msg[:BUFSIZE], (host, port))
    msg = msg[BUFSIZE:]

рекомендация

отblog.csdn.net/update7/article/details/109235926
рекомендация