zoukankan      html  css  js  c++  java
  • Python9-网络编程2-day31

    基于UDP协议的socket

    #server
    import socket
    sk = socket.socket(type=socket.SOCK_DGRAM)
    sk.bind(('127.0.0.1',8080))
    msg,addr = sk.recvfrom(1024)
    print(msg.decode('utf-8'))
    sk.sendto(b'bye',addr)
    sk.close()
    
    #client
    import socket
    sk = socket.socket(type=socket.SOCK_DGRAM)
    ip_port = ('127.0.0.1',8080)
    sk.sendto(b'hellog',ip_port)
    ret,addr = sk.recvfrom(1024)
    print(ret.decode('utf-8'))
    # udp的server 不需要进行监听也不需要建立连接
    # 在启动服务之后只能被动的等待客户端发送消息过来
    # 客户端发送消息的同时会自带地址信息
    # 消息回复的时候,不需要发送信息,还需要把对方的地址发送过去
    QQ的UPD聊天代码
    #server
    import socket
    sk = socket.socket(type=socket.SOCK_DGRAM)
    sk.bind(('127.0.0.1',8080))
    while True:
        msg,addr = sk.recvfrom(1024)
        print(addr)
        print(msg.decode('utf-8'))
        info = input('>>>>>>>').encode('utf-8')
        sk.sendto(info,addr)
    
    sk.close()
    
    #tim
    
    import socket
    sk = socket.socket(type=socket.SOCK_DGRAM)
    ip_port = ('127.0.0.1',8080)
    while True:
        info = input('Tim: ')
        info = ('33[32m来自Tim的消息:%s33[0m'%info).encode('utf-8')
        sk.sendto(info,ip_port)
        msg,addr = sk.recvfrom(1024)
        print(msg.decode('utf-8'))
    sk.close()
    
    #tigger
    import socket
    sk = socket.socket(type=socket.SOCK_DGRAM)
    ip_port = ('127.0.0.1',8080)
    while True:
        info = input('Tigger: ')
        info = ('33[34m来自Tigger的消息:%s33[0m'%info).encode('utf-8')
        sk.sendto(info,ip_port)
        msg,addr = sk.recvfrom(1024)
        print(msg.decode('utf-8'))
    sk.close()

    黏包问题

    import subprocess
    ret = subprocess.Popen('dir',shell=True,stdout=subprocess.PIPE,stderr=subprocess.PIPE)
    print('stdout: ',ret.stdout.read().decode('gbk'))
    print('stderr: ',ret.stderr.read().decode('gbk'))


  • 相关阅读:
    mysql赋权限
    MySQL Server 5.6安装
    Class.isAssignableFrom(Class clz)方法 与 instanceof 关键字的区别
    每天一个linux命令
    解锁scott用户
    堆栈的理解
    类与对象的理解
    数组copy
    ArrayList 的代码
    intput/output 文件的复制练习
  • 原文地址:https://www.cnblogs.com/zhangtengccie/p/10360256.html
Copyright © 2011-2022 走看看