socket解决编码解码问题

MySocket类:

 1 import socket
 2 
 3 class MySocket(socket.socket):          # 继承自socket文件中的socket类,此时socket就是父类
 4     def __init__(self,encoding = 'utf-8'):
 5         self.encoding = encoding
 6         super(MySocket,self).__init__(type=socket.SOCK_DGRAM)#执行父类socket中的__init__方法
 7 
 8     def s(self,msg,addr):
 9         return self.sendto(msg.encode(self.encoding),addr)#调用父类中的sento方法
10 
11     def r(self,num):
12         msg,addr = self.recvfrom(num)#调用父类的recvfrom方法
13         return msg.decode(self.encoding),addr

服务器端:

 1 from My_UDP import MySocket
 2 
 3 sk = MySocket()
 4 
 5 sk.bind(('127.0.0.1',8080))
 6 
 7 msg,addr = sk.r(1024)
 8 
 9 print(msg)
10 
11 sk.close()

客户端:

1 from My_UDP import MySocket
2 
3 sk = MySocket()
4 
5 sk.s("asdsad撒旦",('127.0.0.1',8080))
6 
7 sk.close

猜你喜欢

转载自www.cnblogs.com/jerry-hou/p/11892444.html