• 自定义类简化程序


    父类 

      此处以UDP协议举例,TCP协议做适当修改即可

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

    服务器端

    from My_UDP import MySocket
    
    sk = MySocket('utf-8')
    
    sk.bind(('127.0.0.1',8090))
    
    while 1:
        msg_r, addr = sk.my_recvfrom(1024)  # 接收来自于哪里的消息
        print(msg_r,addr)
        msg_s = input(('>>>'))
        sk.my_sendto(msg_s, addr)  # 发给谁的消息
    
    
    
    sk.close()
    

    客户端

    from My_UDP import MySocket
    
    sk = MySocket('utf-8')
    
    
    while 1:
        name = input('请输入您的名字:')
        msg_s = input('>>>')
        info = name + ' : ' + msg_s
        sk.my_sendto(info,('127.0.0.1',8090))  # 发给谁的消息
    
        msg_r,addr = sk.my_recvfrom(1024)# 接收来自于哪里的消息
        print(msg_r)
    
    sk.close()
    

      

  • 相关阅读:
    java 前端--Jquery表单验证
    java基础--IO流(3)
    工具的使用与安装--myeclipse项目导入eclispse中的设置
    洛谷 P2697 宝石串
    洛谷 P2145 [JSOI2007]祖码
    洛谷 P1005 矩阵取数游戏
    洛谷 P3205 [HNOI2010]合唱队
    洛谷 P1220 关路灯
    POJ 2152 Fire
    洛谷 P1043 数字游戏
  • 原文地址:https://www.cnblogs.com/luxiangyu111/p/9506266.html
Copyright © 2020-2023  润新知