33 udp协议编码  显示客户端名字,输出带颜色的内容 udp协议的时间同步机制  
#一.udp 协议编码 一个服务器,多个客户端
#服务器:
# import socket
# sk=socket.socket(type=socket.SOCK_DGRAM)
# sk.bind(("127.0.0.1",8801))
# while True:
# msg,addr=sk.recvfrom(1024)
# print(msg.decode("utf-8"),addr)
# msg1=msg.decode("utf-8")
# if msg1=="q":
# continue
# con=input("<<<").encode("utf-8")
# sk.sendto(con,addr)
# if con =="q":
# break
# sk.close()
#客户端
# import socket
# sk=socket.socket(type=socket.SOCK_DGRAM)
# while True:
# con1=input("<<<").encode("utf-8")
# sk.sendto(con1,("127.0.0.1",8801))
# if con1=="q":
# break
# msg_c,addr=sk.recvfrom(1024)
# print(msg_c.decode("utf-8"))
# msg2=msg_c.decode("utf-8")
# if msg2=="q":
# break
# sk.close() # 二.优化代码显示客户端名字
#服务器
# import socket
# sk=socket.socket(type=socket.SOCK_DGRAM)
# sk.bind(("127.0.0.1",8801))
# while True:
# msg,addr=sk.recvfrom(1024)
# print(msg.decode("utf-8"),addr)
# msg1=msg.decode("utf-8")
# if msg1=="q":
# continue
# con=input("<<<").encode("utf-8")
# sk.sendto(con,addr)
# if con =="q":
# break
# sk.close()
#客户端
# import socket
# sk=socket.socket(type=socket.SOCK_DGRAM)
# name=input("请输入名字:")
# while True:
# con1=input("<<<")
# con1=name+":"+con1
# sk.sendto(con1.encode("utf-8"),("127.0.0.1",8801))
# if con1=="q":
# break
# msg_c,addr=sk.recvfrom(1024)
# print(msg_c.decode("utf-8"))
# msg2=msg_c.decode("utf-8")
# if msg2=="q":
# break
# sk.close() #三.输出带颜色的字(一个客户端)
#服务器:
# import socket
# sk=socket.socket(type=socket.SOCK_DGRAM)
# sk.bind(("127.0.0.1",8801))
# while True:
# msg,addr=sk.recvfrom(1024)
# msg_c=msg.decode("utf-8")
# print("\033[0;35;41m%s,%s\033[0m"%(msg_c,addr))
#
# if msg_c=="q":
# continue
# con=input("<<<").encode("utf-8")
# sk.sendto(con,addr)
# if con =="q":
# break
# sk.close() #四.输出带颜色的文字( 一个服务器 多个客户端)
#服务器
# import socket
# sk=socket.socket(type=socket.SOCK_DGRAM)
# sk.bind(("127.0.0.1",8801))
# dic={"alex":"\033[0;35;41m","太白":"\033[0;32;40m"}
# while True:
# msg,addr=sk.recvfrom(1024)
# msg_c=msg.decode("utf-8")
# name=msg_c.split(":")[0].strip()
# print(name)
# color=dic.get(name,"")
# print("%s%s\033[0m" % (color,msg_c))
#
# if msg_c=="q":
# continue
# con=input("<<<").encode("utf-8")
# sk.sendto(con,addr)
# if con =="q":
# break
# sk.close() #五.基于udp协议的时间同步机制
#服务器
# import socket
# import time
# sk=socket.socket(type=socket.SOCK_DGRAM)
# sk.bind(("127.0.0.1",8801))
# while 1:
# tm_format,addr=sk.recvfrom(1024)
# tm_format=tm_format.decode("utf-8")
# local_time=time.strftime(tm_format)
# sk.sendto(local_time.encode("utf_8"),addr)
# sk.close()
#客户端
# import socket
# import time
# sk=socket.socket(type=socket.SOCK_DGRAM)
# tm_format=input(">>>")
# while 1:
# sk.sendto(tm_format.encode("utf-8"),("127.0.0.1",8801))
# local_time,addr=sk.recvfrom(1024)
# print(local_time.decode("utf-8"))
# time.sleep(5) #五秒出一个
# sk.close()

python全栈开发 * 33 知识点汇总 * 180718的更多相关文章

  1. python全栈开发 * 10知识点汇总 * 180612

    10 函数进阶 知识点汇总 一.动态参数 形参的第三种1.动态接收位置传参 表达:*args (在参数位置编写 * 表⽰接收任意内容) (1)动态位置参数def eat(*args): print(a ...

  2. python全栈开发 * 32知识点汇总 * 180717

    32 网络编程 (一)一.架构 定义:程序员开发的一种模式. 分类: C/S 架构 C/S即:Client与Server , 客户端/ 服务器模式 . 缺点 : 冗余 B/S 架构 Browser与S ...

  3. python全栈开发 * 26知识点汇总 * 180709

    26 logging collections random 模块 一.logging低配:日志不能写入文件与显示同时进行 import logging logging.basicConfig(leve ...

  4. python全栈开发 * 01知识点汇总 * 180530

    一 python简介. 1.创始人:  吉多 .范罗苏姆  \   (Guido van Rossum). 2.时间  :  1989年. 3.主要应用领域  :  云计算 \  WEB开发  \   ...

  5. python全栈开发 * 12 知识点汇总 * 180530

    12 知识点总结 装饰器进阶 ⼀. 通⽤装饰器的回顾1.开闭原则: 对增加功能开放. 对修改代码封闭2.装饰器的作⽤: 在不改变原有代码的基础上给⼀个函数增加功能3.通⽤装饰器的写法:def wrap ...

  6. python全栈开发 * 36知识点汇总 * 180721

    36 操作系统的发展史 进程一.手工操作--穿孔卡片 1.内容: 程序员将对应于程序和数据的已穿孔的纸带(或卡片)装入输入机,然后启动输入机把程序和数据输入计算机内存,接着通过控制 台开关启动程序针对 ...

  7. python全栈开发 * 31知识点汇总 * 180716

    31 模块和包一.模块(一)模块的种类:内置模块,自定义模块,扩展模块第三方模块(二)自定义模块 1.模块的创建 : 新建一个py文件. 2.模块名 : 模块名需要符合变量的命名规范. 3.模块的导入 ...

  8. python全栈开发 * 24 知识点汇总 * 180705

    24 模块-------序列化一.什么是模块 模块:py文件就是一个模块.二.模块的分类:(1)内置模块 (登录模块,时间模块,sys模块,os模块)(2)扩展模块 (itchat 微信有关,爬虫,b ...

  9. python全栈开发 * 27知识点汇总 * 180710

    27   time  os  sys  模块 time 模块 一.表示时间的三种方式 时间戳(timestamp), 元组(struct_time),格式化时间字符串(Format string) 小 ...

随机推荐

  1. MySQL之You can't specify target table for update in FROM clause解决办法

    这篇文章主要介绍了mysql中You can't specify target table for update in FROM clause错误解决方法,需要的朋友可以参考下 MySQL中You c ...

  2. Android设置屏幕旋转后保存数据

    1.onCreate()方法中最后判断需要保存的状态值 if(savedInstanceState != null){ mCurrentIndex = savedInstanceState.getIn ...

  3. Python对List中的元素排序

    首先定义一个compare函数: def compare(sf1, sf2): if (sf1.value > sf2.value): return -1; elif (sf1.value == ...

  4. CentOS5.9 编译Emacs 24

    从Emacs官方网站下载最新版解压后,执行 ./configure 得到错误信息: configure: error: The following required libraries were no ...

  5. Linux Performance tool

    https://www.tecmint.com/command-line-tools-to-monitor-linux-performance/ https://www.tecmint.com/lin ...

  6. 程序猿必备的10款web前端动画插件一

    1.动画SVG框架幻灯片 在幻灯片之间切换时显示动画SVG帧的实验性幻灯片.不同的形状可以用来创建各种风格. 我们想和大家分享一个实验幻灯片.我们的想法是在从一个幻灯片转换到另一张幻灯片时,使SVG帧 ...

  7. .net core Dapper for MySql

    Dapper 语法比较简单,效率也比较快,速度接近IDataReader 甚至读取数据超过了DataTable,建议在实际项目可以结合EntityFramework Core 一起使用. 一.创建My ...

  8. ant 通配符

    ant 通配符 我们常用的匹配模式有ANT模式,比如acegi可以用PATTERN_TYPE_APACHE_ANT来使用ANT匹配模式,那什么是ANT匹配模式呢.   ANT通配符有三种:     通 ...

  9. QT 信号槽connect中解决自定义数据类型或数组作为函数参数的问题——QT qRegisterMetaType 注册MetaType——关键:注册自定义数据类型或QMap等容器类

    一般情况下信号槽直接连接方式不会出现问题,但是如果信号与槽在不同线程或Qt::QueuedConnection方式连接,可能会在连接期间报以下类似问题,如: QObject::connect: Can ...

  10. Spring-Cloud-Ribbon学习笔记(二):自定义负载均衡规则

    Ribbon自定义负载均衡策略有两种方式,一是JavaConfig,一是通过配置文件(yml或properties文件). 需求 假设我有包含A和B服务在内的多个微服务,它们均注册在一个Eureka上 ...