使用Python实现一个简单的聊天室

Python是一个非常灵活的编程语言,我们现在到处可见用Python编写的应用程序。本文就是一个很简单的使用Python来编写的一个机遇命令行的聊天室,他非常简单和易于理解。让我们开始吧。

聊天室是什么?

聊天室就是一个媒介或者接口,允许两个或多个用户聊天或者发送信息。它既可以是一对一的聊天也可以是群聊。我们这个例子中,将会创建一个群聊天室,他可以同时支持多于两个人在线。

架构

对聊天室,我们使用服务器-客户端的架构。这就意味着一台服务器将托管多台客户机器。

 

准备开始:

在深入代码之前,我们需要知道的最后一件事就是,我们需要些两个script,一个是server端的,一个是client端的。我们需要很清晰地知道,client端是只和server端通信。client之间是没有通信的。下面,我们来看具体的代码。

服务器端的代码:

首先, 我们需要import两个库,一个是”socket”一个是”threading”。这两个都是内建的库,所以不需要额外进行安装。只要import他们就可以了。Socket是用来连接网络中的多个节点,并进行通信的。Threading模块提供了很简单直观的接口可以在程序中产生多个线程。下面我们来定义我们的IP和端口。这里我们只能使用没有被保留的端口,因为我们是在本地机器上测试的,假如使用了保留的端口,那么会有很多意想不到的问题。

当我们开始定义socket的时候,有两个参数(AF_INET)和(SOCK_STREAM)会被使用到。第一个表示使用internet socket另一个表示使用TCP。下面我们就来实现广播的功能。他的基本功能就是把信息发送给所有的在client列表中的客户端。这个功能还不止会用在这里,我们还会在别的地方使用他。处理客户端是非常麻烦的事情,这个也是这样。他首先会试一下能否成client端接收到信息,假如可以的话,他才会广播。

假如这里有任何的错误或者问题的话,我们这里就简单处理一下,直接把client移除了。我们已经做了很多工作,但是添加客户端到目前为止还没有实现。所以,下面我们就来实现它。在接收端,这个关键字“NICKNAME”会被发送给客户端,这也意味着我们需要他们的名称。然后,我们收到他

  • 7
    点赞
  • 49
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值