UDP协议,字体改变颜色

UDP协议必须由客户端首先发送内容

UDP协议的聊天室服务器代码

import socket

sk = socket.socket(type=socket.SOCK_DGRAM)      #默认TCP协议,传参代表UDP
sk.bind(("127.0.0.1",8888))       #127.0.0.1是一个回环地址,每一个电脑都有
dic = {"段sir":"\033[36m","傻子":"\033[33m"}
while 1:
    s,addr = sk.recvfrom(1024)
    s1 = s.decode().split(":")[0].strip()
    print("receive:"+"%s%s" % (dic[s1],s.decode())+"\033[0m")
    ss = input("send:").encode()
    sk.sendto(ss,addr)
conn.close()
sk.close()

UDP协议的客户端代码

import socket

sk = socket.socket(type=socket.SOCK_DGRAM)
name = input("name:")
while 1:
    s = input("send:")
    s = name+":"+ s
    sk.sendto(s.encode(), ("127.0.0.1", 8888))

    ss, addr = sk.recvfrom(1024)
    print("receive:" + ss.decode())
sk.close

字体改变颜色

#格式:
  设置颜色开始 :\033[显示方式;前景色;背景色m
#说明:
前景色            背景色           颜色
---------------------------------------
30                40              黑色
31                41              红色
32                42              绿色
33                43              黃色
34                44              蓝色
35                45              紫红色
36                46              青蓝色
37                47              白色
显示方式           意义
-------------------------
0                终端默认设置
1                高亮显示
4                使用下划线
5                闪烁
7                反白显示
8                不可见
 
#例子:
\033[1;31;40m    <!--1-高亮显示 31-前景色红色  40-背景色黑色-->
\033[0m          <!--采用终端默认设置,即取消颜色设置-->

自己写一个模块来取消代码中频繁的解码,编码

  举例:UDP协议

服务器代码
import My_UDP   #模块文件名为My_UDP


sk = My_UDP.MySocket()

sk.bind(('127.0.0.1',8080))

msg,addr = sk.my_recvfrom(1024)


print(msg)

sk.close()


客户端代码
import My_UDP

sk = My_UDP.MySocket()

sk.my_sendto('abcabc中国',('127.0.0.1',8080))


sk.close()



模块代码
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

  

posted on 2018-08-13 16:42  你们都厉害  阅读(356)  评论(0编辑  收藏  举报