#自定义类 import socket class Mysocket(socket.socket): #继承自socket文件中的socket类 def __init__(self,encoding='utf-8'): self.encoding='utf-8' super(Mysocket, self).__init__(type=socket.SOCK_DGRAM) #执行父类socketz中的__init__方法 def my_sendto(self,msg,addr): return self.sendto(msg.encode(self.encoding),addr) #调用父类中的sendto方法 def my_recvfrom(self,num): msg_r,addr=self.recvfrom(num) #调用父类的recvfrom方法 return msg_r.decode(self.encoding),addr #server层调用 from MyUdp import Mysocket sk=Mysocket() sk.bind(('10.70.2.143',8090)) print(sk.my_recvfrom(1024)) sk.close() #client层调用 from MyUdp import Mysocket sk=Mysocket() sk.my_sendto('你好',('10.70.2.143',8090)) sk.close()