Python让你自己做一个软件,自己开个聊天室,厉害吧!

内容

知识点

asyncore 、asynchat模块运用

环境

python 3.5

功能描绘

在本实验中,我们将实现一个简略的图形界面谈天系统。我们可以经过图形客户端登录谈天室,并与其他成员进行谈天。

分析

由于 Python 是一门带 GIL 的语言,所以在 Python 中运用多线程处理IO操作过多的使命并不是很好的选择。同时谈天服务器将同多个 socket 进行通信,所以我们可以根据 asyncore 模块实现谈天服务器。aysncore 模块是一个异步的 socket 处理器,经过运用该模块将大大简化异步编程的难度。asynchat 模块在 asyncore 模块的基础上做了进一步封装,简化了根据文本协议的忘了通信使命的开发难度。

已然要开发谈天程序,那必然需要规划谈地利运用的协议。为了简略起见,我们将要开发的谈天服务器只支撑文本协议,经过 command message的方式调用相关的操作。比如如果客户端发送以下文本,将执行相应的操作

步骤

服务器类

这里我们首先需要一个聊天服务器类,经过继承 asyncore 的 dispatcher 类来完成,我们编写 server.py文件:

本文来自企鹅号 - IT技术java交流媒体

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏小白课代表

《经验之谈》——Chrome浏览器的扩展程序(下载及安装)

一台电脑上可以没有QQ微信,可以没有office,也可以没有安全软件修图软件下载软件等各种软件,但是一定要有的就是浏览器。浏览器是我们与互联网进行交流最重要的渠...

19750
来自专栏枕边书

linux的“自动化”

linux的“自动化” linux系统的web网站在运营状态时,我们常需要对网站进行维护,例如查看资源剩余并做出响应、日志分割、数据整理,在特定状态执行特定任务...

24190
来自专栏小白课代表

软件分享 | AutoCAD 2017安装教程

2、打开安装包,双击安装程序,点击更改,选择解压目标文件夹,可在D盘或其它盘里面新建一个CAD2017文件夹,然后点击确定

30420
来自专栏小白课代表

虚拟机:VMware 14 安装教程。

虚拟机(Virtual Machine)指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统。

31120
来自专栏听雨堂

异步Socket处理的一些测试值

客户端进行发送,服务器端将相同的数据回发到客户端。记录收发的次数。 1. 如果进行较大规模的UI处理(在TextBox中显示接收内容),将会大大降低响应时间,...

24050
来自专栏我是攻城师

Nodejs笔记(一)

32570
来自专栏vue学习

2.看完你就该会git了(手把手教你用vue+node+mongodb搭建一个小商城)

(1)既然要讲的详细点,那我们就好好说道说道,从账号注册开始讲起。so,我们从浏览器中输入github地址(https://github.com/ ),完了你看...

16430
来自专栏小白课代表

虚拟机:VMware 12 安装教程。

虚拟机(Virtual Machine)指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统。

13510
来自专栏小白课代表

虚拟机:VMware 15 安装教程。

虚拟机(Virtual Machine)指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统。

82230
来自专栏Java技术栈

稍微有点难度的10道java面试题,你会几道?

1、jvm对频繁调用的方法做了哪些优化? 2、常见的攻击手段有哪些?如何防范? 3、restful api有哪些设计原则? 4、hessian是做什么用的?它的...

341100

扫码关注云+社区

领取腾讯云代金券