服务器端代码
import socket
import threading
import logging
import datetime
logging.basicConfig(format='%(message)s', level=logging.INFO)
class ChatUdpServer:
def __init__(self, ip='127.0.0.1', port=9999, interval=10,):
self.sock = socket.socket(type=socket.SOCK_DGRAM)
self.addr = ip, port
self.event = threading.Event()
self.client_set = {}
self.interval = interval
def start(self):
self.sock.bind(self.addr)
threading.Thread(target=self.recv,).start()
def recv(self):
while not self.event.is_set():
try:
data, raddr_info = self.sock.recvfrom(1024)
print(self.sock, raddr_info)
except ConnectionResetError:
print('{} client is stop'.format(raddr_info))
self.client_set.pop(raddr_info)