python如何使用socketserver模块实现并发聊天


Posted in Python onDecember 14, 2019

这篇文章主要介绍了python如何使用socketserver模块实现并发聊天,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

利用socketserver模块很容易实现并发功能,下面的server.py和client.py程序实现了这一功能.

代码如下

#server.pyimport socketserver
class MyServer(socketserver.BaseRequestHandler):
  def handle(self):
    while True:
      conn = self.request
      while True:
        data = conn.recv(1024)
        if str(data,'utf8') == 'q':
          break
        print(str(data,'utf8'))
        inp = input('>>>')
        conn.send(bytes(inp,'utf8'))
      conn.close()
if __name__ == '__main__':
  server = socketserver.ThreadingTCPServer(('127.0.0.1',8000),MyServer)
  server.serve_forever()
#client.py
import socket
sk = socket.socket()
address = ('127.0.0.1',8000)
sk.connect(address)
while True:
  inp = input('>>>')
  if inp == 'q':
    print('Bye-bye')
    break
  sk.send(bytes(inp,'utf8'))
  data = sk.recv(1024)
  print(str(data,'utf8'))

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python基本数据类型详细介绍
Mar 11 Python
使用Python装饰器在Django框架下去除冗余代码的教程
Apr 16 Python
Python正则简单实例分析
Mar 21 Python
Python遍历文件夹和读写文件的实现方法
May 10 Python
python,Django实现的淘宝客登录功能示例
Jun 12 Python
python设计微型小说网站(基于Django+Bootstrap框架)
Jul 08 Python
你还在@微信官方?聊聊Python生成你想要的微信头像
Sep 25 Python
pandas和spark dataframe互相转换实例详解
Feb 18 Python
Django 设置admin后台表和App(应用)为中文名的操作方法
May 10 Python
Python 存取npy格式数据实例
Jul 01 Python
django Model层常用验证器及自定义验证器详解
Jul 15 Python
python使用openpyxl库读写Excel表格的方法(增删改查操作)
May 02 Python
python paramiko远程服务器终端操作过程解析
Dec 14 #Python
安装PyInstaller失败问题解决
Dec 14 #Python
django自定义模板标签过程解析
Dec 14 #Python
django序列化serializers过程解析
Dec 14 #Python
Python搭建HTTP服务过程图解
Dec 14 #Python
Pyqt5自适应布局实例
Dec 13 #Python
解决安装pyqt5之后无法打开spyder的问题
Dec 13 #Python
You might like
比较简单的百度网盘文件直链PHP代码
2013/03/24 PHP
一个php短网址的生成代码(仿微博短网址)
2014/05/07 PHP
PHP小教程之实现双向链表
2014/06/12 PHP
php实现微信企业付款到个人零钱功能
2018/10/09 PHP
禁止IE用右键的JS代码
2013/12/30 Javascript
JSF中confirm弹出框的用法示例介绍
2014/01/07 Javascript
node.js中的fs.statSync方法使用说明
2014/12/16 Javascript
轻松创建nodejs服务器(6):作出响应
2014/12/18 NodeJs
jquery 实现输入邮箱时自动补全下拉提示功能
2015/10/04 Javascript
JavaScript实现垂直滚动条效果
2017/01/18 Javascript
JS实现页面打印功能
2017/03/16 Javascript
nodejs密码加密中生成随机数的实例代码
2017/07/17 NodeJs
Spring boot 和Vue开发中CORS跨域问题解决
2018/09/05 Javascript
基于vue中keep-alive缓存问题的解决方法
2018/09/21 Javascript
vue中轮训器的使用
2019/01/27 Javascript
原生JavaScript实现日历功能代码实例(无引用Jq)
2019/09/23 Javascript
vue常用高阶函数及综合实例
2021/02/25 Vue.js
python简单实现计算过期时间的方法
2015/06/09 Python
pygame 精灵的行走及二段跳的实现方法(必看篇)
2017/07/10 Python
Python中实现最小二乘法思路及实现代码
2018/01/04 Python
Python简单实现控制电脑的方法
2018/01/22 Python
转换科学计数法的数值字符串为decimal类型的方法
2018/07/16 Python
Python Pandas批量读取csv文件到dataframe的方法
2018/10/08 Python
Python+PyQt5实现美剧爬虫可视工具的方法
2019/04/25 Python
Python爬虫实现百度翻译功能过程详解
2020/05/29 Python
一款基于css3麻将筛子3D翻转特效的实例教程
2014/12/31 HTML / CSS
澳大利亚宠物商店:Petbarn
2017/11/18 全球购物
中国汽车租赁行业头部企业:一嗨租车
2019/05/16 全球购物
NYX Professional Makeup英国官网:美国平价专业彩妆品牌
2019/11/13 全球购物
现金会计岗位职责
2013/12/05 职场文书
幼儿园毕业教师感言
2014/02/21 职场文书
2014年公司迎新年活动方案
2014/02/24 职场文书
活动策划求职信模板
2014/04/21 职场文书
关爱残疾人标语
2014/06/25 职场文书
结婚典礼致辞
2015/07/28 职场文书
python用tkinter开发的扫雷游戏
2021/06/01 Python