zoukankan      html  css  js  c++  java
  • udp协议中解决encode和decode编码问题

    在编写udp协议的程序中,经常会被来回编码搞得焦头烂额,其实可以利用继承socket类的方法,将编码方式默认为"utf-8"

    import socket
    
    
    class MySocket(socket.socket):# 继承自 socket文件中的socket类,此时socket就是父类
        def __init__(self,encoding='utf-8'):
            self.encoding = encoding
            super(MySocket, self).__init__(type=socket.SOCK_DGRAM)#  执行父类socket中的__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

    在客户端与服务器端直接调用就可以使用了,后面的编译与解码都是默认"utf-8":

    from (存放上述程序的文件) import MySocket
    
    sk = MySocket()
  • 相关阅读:
    指针理解
    http和https区别
    js 日历控件
    Linux 目录详解!(转)
    互换位置输出
    晨时跌荡起伏的心情
    c++冒泡排序
    游标使用
    防止Sql注入
    ssl加密原理
  • 原文地址:https://www.cnblogs.com/smile568968/p/9469213.html
Copyright © 2011-2022 走看看