• python 27 days


    python 27 days

      1、解决一下怎么让服务器可以和多个客户端连接通信
      2、学习udp协议
      3、炫酷技能,可以在pycharm中打印带颜色的信息
      4、时间同步的机制

    知识点:
       1、tcp协议,不允许在同一时间点同时和多个客户端连接通信  
       2、udp协议,允许在同一个时间点同时和多个客户端连接通信

    UDP知识点:

    upd_服务器

    import socket
    ju = socket.socket(type=socket.SOCK_DGRAM)
    li = {'光头':'33[1;23;38m','liuyang':'33[2;36;40'}
    ju.bind(('127.0.0.1',8080))
    #
    while True:
        msg_r,addr = ju.recvfrom(1024)
        msg_r = msg_r.decode('utf-8')
        name = msg_r.split(':')[0]
        color = li.get(name,'')
        print('%s %s 33[0m'%(color,msg_r))
    
        msg_s = input('>>>:').encode('utf-8')
        ju.sendto(msg_s,addr)
    
    ju.close()
    例题展示

    udp_客户端

    import socket
    ju = socket.socket(type=socket.SOCK_DGRAM)
    name = input('请输入你的名字:>>>')
    
    while True:
        msg_s = input('>>>:')
        if msg_s == 'q':
            break
        ju.sendto((name+':'+msg_s).encode('utf-8'),('127.0.0.1',8080))
    
        msg_r,addr = ju.recvfrom(1024)
        if msg_r.decode('utf-8') == 'q':
            break
        print(msg_r.decode('utf-8'))
    
    ju.close()
    例题展示

    TIME知识点:

    time_服务器

    import socket
    import time
    
    ju = socket.socket(type=socket.SOCK_DGRAM)
    ju.bind(('127.0.0.1',8080))
    
    while True:
        tm_format,addr = ju.recvfrom(1024)
        time_now = time.strftime(tm_format.decode('utf-8'))
        print(time_now)
    
        ju.sendto(time_now.encode('utf-8'),addr)
    
    ju.close()
    例题展示

    time_客户端

    import socket
    import time
    
    ju = socket.socket(type=socket.SOCK_DGRAM)
    
    print('%Y 年'
          '%m 月'
          '%d 日'
          '%H 时'
          '%M 分'
          '%S 秒')
    
    tm_format = input('请输入时间格式:')
    
    while True:
        ju.sendto(tm_format.encode('utf-8'),'127.0.0.1',8080)
        tm_now,addr = ju.recvfrom(1024)
        print(tm_now.decode('utf-8'))
        time.sleep(3)
    
    ju.close()
    例题展示
    socket的对象参数说明:

    套接字:

  • 相关阅读:
    mysql优化三
    mysql优化一
    mysql索引二
    mysql索引
    php连接sql2005
    Android studio 自动导入(全部)包 import (转)
    Android启动页面的正确打开方式 (转载)
    coursera 视频总是缓冲或者无法观看的解决办法(Windows 和 Linux 系统 环境)
    最新解决 Ubuntu16.04 和 win10 双系统时间同步问题 (设置为 UTC 时间)
    2017年12月 六级成绩 留念
  • 原文地址:https://www.cnblogs.com/juxiansheng/p/9140822.html
Copyright © 2020-2023  润新知