文档章节

Python多线程socket终端下的聊天室demo

火腿加面包
 火腿加面包
发布于 2016/12/17 12:26
字数 297
阅读 217
收藏 0

Socket_Chatroom

Python多线程socket终端下的聊天室demo。

实现了基本的聊天室功能,多人选择加入房间聊天。

可以在windows和linux下运行,中文没有问题,使用系统的编码进行输出,不会出现乱码问题。

使用说明:

使用流程:

    1.输入昵称

    2.创建或加入房间(昵称和房间号都是唯一的,不能为空。)

    3.选择模式 1)聊天模式 2)命令模式

命令(部分仅在命令模式下):

    1.创建房间 cmd=create room:1:聊天室1 第一个冒号后边为房间ID,第二个为房间名称,ID不能冲突

    2.加入房间 join 1 即join 房间ID

    3.查看所有在线用户 cmd=show user

    4.查看所有房间 cmd=show rooms

    5.查看房间内所有用户 cmd=show member

    6.切换聊天模式 chat mode 默认为命令模式

    7.切换到命令模式 normal mode

    8.离开房间 leave room

    9.下线 logout

启动方法

服务器 python server.py

客户端 python client.py -u 127.0.0.1 -p 9999

windows下测试截图:

代码地址:https://github.com/SPuerBRead/Socket_Chatroom

© 著作权归作者所有

火腿加面包
粉丝 0
博文 1
码字总数 297
作品 0
绵阳
私信 提问
用Python开发你的第一款聊天软件

在本实验中,我们将实现一个简单的图形界面聊天系统。我们可以通过图形客户端登录聊天室,并与其他成员进行聊天。 本教程由实验楼120发布在实验楼,完整教程、代码及在线练习地址:Python 实...

实验楼
2018/07/16
0
0
Python RPC 远程调用脚本之 RPyC 实践

最近有个监控需求,需要远程执行集群每个节点上的脚本,并获取脚本执行结果,为了安全起见不需要账号密码登陆节点主机,要求只需要调用远程脚本模块的方法就能实现。 总结下python进行远程调...

大数据之路
2015/06/28
5.4K
0
python的多路复用实现聊天群

在我的《python高级编程和异步io编程》中我讲解了socket编程,这里贴一段用socket实现聊天室的功能的源码,因为最近工作比较忙,后期我会将这里的代码细节分析出来,目前先把代码贴上。大家自...

__bobby
2018/06/30
0
0
较为原生的WebSocket服务端

概念 个人理解它是客户端和服务端之间的通信通道 确定唯一一个socket(套接字)的属性需要4个 通过这4个属性不难在脑袋里抽象出通道的概念,两端分别是通道的入口和出口 函数解释(python im...

不洗碗工作室
2018/04/18
0
0
我的小工具-远程读卡器web客户端(nodejs+websocket实现实时指令交互)

之前的小工具,远程读卡器web客户端,实现原理是把读写卡服务装在远程(现场)的电脑上,这样有一些缺点,比如现场电脑必须开启端口映射,让客户端能否访问到。只能写好脚本,执行结束后才能...

qq8864
2017/07/05
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Android面试常客之Handler全解

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 本文链接:https://blog.csdn.net/fnhfire_7030/article/details/79518819 前言:又到了一年...

shzwork
6分钟前
0
0
position sticky 定位

本文转载于:专业的前端网站➫position sticky 定位 1、兼容性 https://caniuse.com/#search=sticky chrome、ios和firefox兼容性良好。 2、使用场景 sticky:粘性。粘性布局。 在屏幕范围内时...

前端老手
13分钟前
1
0
CentOS 7 yum 安装 PHP7.3 教程

参考:https://www.mf8.biz/centos-rhel-install-php7-3/ 1、首先安装 EPEL 源: yum install epel-release 安装 REMI 源: yum install http://rpms.remirepo.net/enterprise/remi-release......

dragon_tech
28分钟前
1
0
Linux物理网卡聚合及桥接

Linux内部实现的bridge可以把一台机器上的多张网卡桥接起来,从而把自己作为一台交换机。同时,LInux bridge还支持虚拟端口,即桥接的不一定都是物理网卡接口,还可以是虚拟接口。目前主要表...

xiangyunyan
28分钟前
1
0
一起来学Java8(一)——函数式编程

在这篇文章中,我们将了解到在Java8下如何进行函数式编程。 函数式编程 所谓的函数式编程就是把函数名字当做值进行传递,然后接收方拿到这个函数名进行调用。 首先来看下JavaScript如何进行函...

猿敲月下码
59分钟前
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部