用类方法实现socket的udp协议

#自定义类
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()

 

posted @ 2019-10-22 12:08  LBC不认输  阅读(213)  评论(0编辑  收藏  举报