Python实现socket一对多聊天(利用socketserver)

本篇博客介绍如何使用Python的socketserver模块创建一个服务器,该服务器能同时连接并通信多个客户端。通过继承socketserver.BaseRequestHandler并定义handle方法,服务器可以处理多个并发连接。客户端代码保持不变。
摘要由CSDN通过智能技术生成

     上一篇【Python实现socket简单一对一聊天】中,在一个客户端与服务端建立连接后,其他客户端如果也想与服务端建立连接, 需要等待上一个客户端与服务器之间断开连接之后,才能连接上。

     本篇介绍上一篇的升级版,利用Python的socketserver模块,实现一个服务器同时连接多个客户端,并同时进行通信。只需对上一篇中的服务端代码进行改变,而客户端无需改变。

客户端代码见:https://blog.csdn.net/lincoco49/article/details/89639513

步骤如下:

  1. 导入socketserver模块
  2. 创建一个类,类名随意,同时必须继承socketserver.BaseRequestHandler类
  3. 在类中定义handle方法,函数名必须为handle
  4. 在handle方法中,首先用【conn = self.request】获取服务器与客户端之间的连接,接下来两端之间的通信就基于conn进行
  5. 创建socketserver.ThreadingTCPServer()类,传入两个参数,一个是由服务器的ip和port组成的元组,另一个是我们在步骤2创建的类的类型。
  6. 执行server_forever()方法

服务端代码:

#!/usr/bin/env python
# -*- coding:utf-8
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值