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检测服务器是否正常
Feb 16 Python
wxPython使用系统剪切板的方法
Jun 16 Python
python简单分割文件的方法
Jul 30 Python
python+matplotlib实现礼盒柱状图实例代码
Jan 16 Python
Python简单计算文件MD5值的方法示例
Apr 11 Python
Python企业编码生成系统总体系统设计概述
Jul 26 Python
django 环境变量配置过程详解
Aug 06 Python
python和php哪个更适合写爬虫
Jun 22 Python
Python3与fastdfs分布式文件系统如何实现交互
Jun 23 Python
解决Keras的自定义lambda层去reshape张量时model保存出错问题
Jul 01 Python
python办公自动化之excel的操作
May 23 Python
python 爬取吉首大学网站成绩单
Jun 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
解析wamp5下虚拟机配置文档
2013/06/27 PHP
php获取目录中所有文件名及判断文件与目录的简单方法
2017/03/04 PHP
PHP实现从PostgreSQL数据库检索数据分页显示及根据条件查找数据示例
2018/06/09 PHP
php ajax confirm 删除实例详解
2019/03/06 PHP
Laravel框架学习笔记之批量更新数据功能
2019/05/30 PHP
pjblog中的UBBCode.js
2007/04/25 Javascript
jQuery TextBox自动完成条
2009/07/22 Javascript
js浏览器本地存储store.js介绍及应用
2014/05/13 Javascript
jquery实现人性化的有选择性禁用鼠标右键
2014/06/30 Javascript
node.js中的fs.writeFile方法使用说明
2014/12/14 Javascript
基于node.js制作简单爬虫教程
2017/06/29 Javascript
bootstrap响应式工具使用详解
2017/11/29 Javascript
vue 指令之气泡提示效果的实现代码
2018/10/18 Javascript
vue-cli中安装方法(图文详细步骤)
2018/12/12 Javascript
vue使用swiper实现左右滑动切换图片
2020/10/16 Javascript
[10:24]郎朗助力完美“圣”典,天籁交织奏响序曲
2016/12/18 DOTA
[00:43]拉比克至宝魔导师密钥展示
2018/12/20 DOTA
快速了解Python开发中的cookie及简单代码示例
2018/01/17 Python
python之消除前缀重命名的方法
2018/10/21 Python
Python实现操纵控制windows注册表的方法分析
2019/05/24 Python
使用python实现男神女神颜值打分系统(推荐)
2019/10/31 Python
TensorFlow实现打印每一层的输出
2020/01/21 Python
jupyter lab文件导出/下载方式
2020/04/22 Python
如何利用python进行时间序列分析
2020/08/04 Python
Python数据库封装实现代码示例解析
2020/09/05 Python
CHARLES & KEITH台湾官网:新加坡时尚品牌
2019/07/30 全球购物
应届生法律顾问求职信
2013/11/19 职场文书
开学典礼决心书
2014/03/11 职场文书
房地产项目建议书
2014/03/12 职场文书
银行竞聘上岗演讲稿
2014/09/12 职场文书
优秀党员推荐材料
2014/12/18 职场文书
幼儿教师辞职信范文
2015/03/02 职场文书
贫困证明书范文
2015/06/16 职场文书
培训简讯范文
2015/07/20 职场文书
2016应届毕业生实习评语
2015/12/01 职场文书
详解flex:1什么意思
2022/07/23 HTML / CSS