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)

python_udp_多人聊天室_简单版的更多相关文章

  1. java小程序---简陋版多人聊天室

    功能需求: 1 每运行一次主函数,创建一个客户端聊天界面; 2 客户端界面分三块,公屏(显示所有客户端发送的信息),私屏(用于输入个人想要发送的信息),发送按钮(点击一次,将客户端信息发送到服务端) ...

  2. Apache MiNa 实现多人聊天室

    Apache MiNa 实现多人聊天室 开发环境: System:Windows JavaSDK:1.6 IDE:eclipse.MyEclipse 6.6 开发依赖库: Jdk1.4+.mina-c ...

  3. Spring整合DWR comet 实现无刷新 多人聊天室

    用dwr的comet(推)来实现简单的无刷新多人聊天室,comet是长连接的一种.通常我们要实现无刷新,一般会使用到Ajax.Ajax 应用程序可以使用两种基本的方法解决这一问题:一种方法是浏览器每隔 ...

  4. 使用Go语言+Protobuf协议完成一个多人聊天室

    软件环境:Goland Github地址 一.目的 之前用纯逻辑垒完了一个可登入登出的在线多人聊天室(代码仓库地址),这次学习了Protobuf协议,于是想试着更新下聊天室的版本. 主要目的是为了掌握 ...

  5. java socket之多人聊天室Demo

    一.功能介绍 该功能实现了一个类似QQ的最简单多人聊天室,如下图所示. 二.目录结构 三.服务端 1)SocketServer类,该类是服务端的主类,主要负责创建聊天窗口,创建监听客户端的线程: pa ...

  6. Asp.net MVC + Signalr 实现多人聊天室

    Asp.net SignalR 简介: 首先简单介绍一下Signalr ,我也是刚接触,觉得挺好玩的,然后写了一个多人聊天室. Asp.net SignalR 是为Asp.net 开发人员提供的一个库 ...

  7. 与众不同 windows phone (31) - Communication(通信)之基于 Socket UDP 开发一个多人聊天室

    原文:与众不同 windows phone (31) - Communication(通信)之基于 Socket UDP 开发一个多人聊天室 [索引页][源码下载] 与众不同 windows phon ...

  8. 与众不同 windows phone (30) - Communication(通信)之基于 Socket TCP 开发一个多人聊天室

    原文:与众不同 windows phone (30) - Communication(通信)之基于 Socket TCP 开发一个多人聊天室 [索引页][源码下载] 与众不同 windows phon ...

  9. 多人聊天室(Java)

    第1部分 TCP和UDP TCP:是一种可靠地传输协议,是把消息按一个个小包传递并确认消息接收成功和正确才发送下一个包,速度相对于UDP慢,但是信息准确安全:常用于一般不要求速度和需要准确发送消息的场 ...

随机推荐

  1. 【硬核】Dubbo常见面试题

    有情怀,有干货,微信搜索[三太子敖丙]关注这个不一样的程序员. 本文 GitHub https://github.com/JavaFamily 已收录,有一线大厂面试完整考点.资料以及我的系列文章. ...

  2. js获取foreach循环选中的值

    一,循环出来的值,通过checked选中,获取到value值 二,定义一个空数组,用push将数据保存在数组里面 以上操作便可以进行虎丘选中的值了

  3. Go strconv包

    strconv包 该包主要实现基本数据类型与其字符串表示的转换. 常用函数为Atoi().Itia().parse系列.format系列.append系列. 更多函数请查看官方文档. string与i ...

  4. Pycharm开发环境配置与调试

    在Windows宿主机上搭建Ubuntu虚拟机的Pycharm开发环境,Ubuntu开启Samba服务,使用网络映射将Ununtu下Python项目工程路径映射到Windows下 创建Pycharm工 ...

  5. 多测师讲解自动化测试 _RF课堂_定位详解(002上午)_高级讲师肖sir

    1,打开克览器 2.id定位 Input Text id=kw 我是id定位 #id定位方法 3.name定位 Input Text name=wd 我是name定位方法 #我是name定位方法 4. ...

  6. 多测师讲解python _re模块_高级讲师肖sir

    import re# 一.常用方法:# match():从头匹配# search():从整个文本搜索# findall():找到所有符合的# split():分割# sub():替换# group() ...

  7. MeteoInfoLab脚本示例:利用比湿、温度计算相对湿度

    利用比湿和温度计算相对湿度的函数是qair2rh(qair, temp, press=1013.25),三个参数分别是比湿.温度和气压,气压有一个缺省值1013.25,因此计算地面相对湿度的时候也可以 ...

  8. kafka伪集群搭建

    https://blog.csdn.net/zxy987872674/article/details/72466504

  9. 转 RabbitMQ 入门教程(PHP版) 使用rabbitmq-delayed-message-exchange插件实现延迟功能

    延迟任务应用场景 场景一:物联网系统经常会遇到向终端下发命令,如果命令一段时间没有应答,就需要设置成超时. 场景二:订单下单之后30分钟后,如果用户没有付钱,则系统自动取消订单. 场景三:过1分钟给新 ...

  10. centos8安装redis

    一,下载: 1,下载页面: https://redis.io/ 2,下载 [root@localhost source]# wget http://download.redis.io/releases ...