Python实现文字聊天室

作者: 蓝桥云课 | 来源:发表于2017-12-01 14:11 被阅读182次

    你是否想过用所学的Python开发一个图形界面的聊天室程序啊?

    像这样的:

    image

    如果你想开发这样一个有点怀旧风格的聊天程序,那么可以接着看;

    要开发这个聊天程序,你需要具备以下知识点:

    • asyncore 、asynchat模块使用
    • wxPython 图形开发

    这个聊天程序的实验原理如下:

    由于 Python 是一门带 GIL 的语言,所以在 Python 中使用多线程处理IO操作过多的任务并不是很好的选择。同时聊天服务器将同多个 socket 进行通信,所以我们可以基于 asyncore 模块实现聊天服务器。

    aysncore 模块是一个异步的 socket 处理器,通过使用该模块将大大简化异步编程的难度。asynchat 模块在 asyncore 模块的基础上做了进一步封装,简化了基于文本协议的忘了通信任务的开发难度。

    既然要开发聊天程序,那必然需要设计聊天时使用的协议。为了简单起见,我们将要开发的聊天服务器只支持文本协议,通过command message的方式调用相关的操作。比如如果客户端发送以下文本,将执行相应的操作

    # 登录操作
    login\n
    # 在聊天室中发表 hello 内容
    say hello\n
    # 查看聊天室在线用户
    look\n
    # 退出登录
    logout\n
    

    以上协议流中,login, say, look, logout 就是相关协议代码。

    开发步骤如下:

    • 1、服务器类:一个聊天服务器类,通过继承 asyncore 的 dispatcher 类来实现;
    • 2、 会话类:有了服务器类还需要能维护每个用户的连接会话,这里继承 asynchat 的 async_chat 类来实现;
    • 3、协议命令解释器:聊天服务器的协议,具体来说就是处理用户登录,退出,发消息,查询在线用户的代码;
    • 4、房间:实现聊天室的房间了,这里我们定义了三种房间,分别是用户刚登录时的房间、聊天的房间和退出登录的房间;
    • 5、登陆窗口:实现客户端了;
    • 6、聊天窗口:聊天窗口中最主要的就是向服务器发消息并接受服务器的消息;

    嗯,什么?光看这个原理和开发步骤还是不会具体的开发,不会写代码?那我给你详细的开发教程,看么?!

    【python 实现文字聊天室】

    这个教程详细的介绍了开发步骤和开发代码,带你一步一步的实现这个文字聊天室,而且还有在线开发环境,你可以跟着动手去操作哦;

    相关文章

      网友评论

        本文标题:Python实现文字聊天室

        本文链接:https://www.haomeiwen.com/subject/roxwbxtx.html