小白学python-------------网络编程之基于socketserver实现简单的并发的socket(udp协议)

服务端

import socketserver

ip = '127.0.0.1'
port = 8080
ADDR = (ip, port)


class MyHandler(socketserver.BaseRequestHandler):
    def handle(self):
        # print(self.client_address)#客户端的IP地址及端口
        # print(self.request)#是一个元组,第一个是数据,第二个是套接字对象
        data = self.request[0]
        print('客户端信息:',data)
        self.request[1].sendto(data.upper(),self.client_address)


if __name__ == '__main__':
    s = socketserver.ThreadingUDPServer(ADDR,MyHandler)
    s.serve_forever()
客户端

import socket

#  udp协议没有粘包问题

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

ip_port=('127.0.0.1',8080)

while True:
    msg = input('>>>').strip()

    server.sendto(msg.encode('utf-8'),ip_port)

    back_msg,addr = server.recvfrom(1024)
    print(back_msg)

server.close()

猜你喜欢

转载自blog.csdn.net/qq_42721964/article/details/82383349