udp-一定是client端先发送数据。

server.py
import socket
friend_lst = {'alex':'32','太白':'33'}
sk =socket.socket(type=socket.SOCK_DGRAM)
sk.bind(('127.0.0.1',9001))
while True:
msg,addr = sk.recvfrom(1500)
msg = msg.decode('utf-8')
name,message = msg.split('|',1)
print('\033[1;%sm %s:%s\033[0m'%(friend_lst.get(name,'30'),name,message))
content = input('>>>')
sk.sendto(content.encode('utf-8'),addr) # 补充知识:
# 1-字典的 dic.get(k,default_v)=v 方法: 如果k在字典中存在就返回它对应的v,如果不存在就返回一个设置的默认的default_v
# 2-print的字符串的颜色:EVA的微博
client_1.py
import socket
name = '太白'
# name = '大壮'
sk = socket.socket(type=socket.SOCK_DGRAM) while True:
content = input('>>>')
if content.upper() == 'Q':
break
content = '%s|%s'%(name,content)
sk.sendto(content.encode('utf-8'),('127.0.0.1',9001))
msg = sk.recv(1024).decode('utf-8')
if msg.upper() == 'Q':
break
print(msg)
client_2.py
import socket
name = 'alex'
sk = socket.socket(type=socket.SOCK_DGRAM) while True:
content = input('>>>')
if content.upper() == 'Q': break
content = '%s|%s'%(name,content)
sk.sendto(content.encode('utf-8'),('127.0.0.1',9001))
msg = sk.recv(1024).decode('utf-8')
if msg.upper() == 'Q': break
print(msg)

最新文章

  1. 透视 HTML子元素的margin-top样式会应用在父元素上的原由
  2. TNS-12518 & Linux Error:32:Broken pipe
  3. Eclipse中快速删除空行
  4. android studio入门
  5. android SharedPreferences 轻量级存储!
  6. PHP中9大缓存技术总结
  7. PHP防止重复提交表单(helloweba网站经典实例)
  8. 【QT】找茬外挂制作
  9. python运维开发之路第一天
  10. Git常用操作汇总(转)
  11. 【Kafka源码】KafkaConsumer
  12. My97 DatePicker普通调用
  13. 深入解析Java反射-invoke方法
  14. Python3的List操作和方法
  15. Linux内核进程
  16. Flutter 布局(九)- Flow、Table、Wrap详解
  17. uvalive 4960 Sensor Network
  18. day26 第二阶段共享
  19. Mac下用户名、计算机名、个人目录名修改
  20. Altium中坐标的导出及利用坐标快速布局

热门文章

  1. 每日一题 LeetCode 486. 预测赢家 【递推】【前缀和】【动态规划】
  2. 【linux】基础命令一
  3. 实验一 HTML基本标签及文本处理
  4. 是时候更新手里的武器了—Jetpack最全简析
  5. LR Optimization-Based Estimator Design for Vision-Aided Inertial Navigation
  6. centos8安装redis
  7. selenium 浏览器标签切换
  8. Gitlab 11.9.1 高可用教程
  9. log4cplus库的properties文件配置
  10. Django( 学习第五部 Django之模板语法)