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 14 Python
python笔记:mysql、redis操作方法
Jun 28 Python
CentOS 6.5中安装Python 3.6.2的方法步骤
Dec 03 Python
Numpy掩码式数组详解
Apr 17 Python
浅谈python中str字符串和unicode对象字符串的拼接问题
Dec 04 Python
Python实现字典排序、按照list中字典的某个key排序的方法示例
Dec 18 Python
python3使用print打印带颜色的字符串代码实例
Aug 22 Python
python 有效的括号的实现代码示例
Nov 11 Python
python 利用turtle库绘制笑脸和哭脸的例子
Nov 23 Python
Eclipse配置python默认头过程图解
Apr 26 Python
详解基于Scrapy的IP代理池搭建
Sep 29 Python
Python之基础函数案例详解
Aug 30 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下正则来匹配dede模板标签的代码
2010/08/21 PHP
php类声明和php类使用方法示例分享
2014/03/29 PHP
php读取flash文件高宽帧数背景颜色的方法
2015/01/06 PHP
php生成图片缩略图的方法
2015/04/07 PHP
PHP统计数值数组中出现频率最多的10个数字的方法
2015/04/20 PHP
php实现每天自动变换随机问候语的方法
2015/05/12 PHP
PHP通过调用新浪API生成t.cn格式短网址链接的方法详解
2019/02/20 PHP
php文件上传原理与实现方法详解
2019/12/20 PHP
解决windows上php xdebug 无法调试的问题
2020/02/19 PHP
jQuery 动态酷效果实现总结
2009/12/27 Javascript
Dreamweaver jQuery智能提示插件,支持版本提示,支持1.6api
2011/07/31 Javascript
Jquery 跨域访问 Lightswitch OData Service的方法
2013/09/11 Javascript
js编写trim()函数及正则表达式的运用
2013/10/24 Javascript
jquery1.9 下检测浏览器类型和版本的方法
2013/12/26 Javascript
nodejs npm包管理的配置方法及常用命令介绍
2014/06/05 NodeJs
jQuery选择器之基本选择器与层次选择器
2015/03/03 Javascript
JavaScript关于提高网站性能的几点建议(一)
2016/07/24 Javascript
深入理解AngularJs-scope的脏检查(一)
2017/06/19 Javascript
angular2 ng2 @input和@output理解及示例
2017/10/10 Javascript
微信小程序视图控件与bindtap之间的问题的解决
2019/04/08 Javascript
js+audio实现音乐播放器
2020/09/13 Javascript
Python 类的继承实例详解
2017/03/25 Python
python PyTorch预训练示例
2018/02/11 Python
使用 Python 实现简单的 switch/case 语句的方法
2018/09/17 Python
Python实现将Excel转换成为image的方法
2018/10/23 Python
Python3字符串encode与decode的讲解
2019/04/02 Python
python 服务器运行代码报错ModuleNotFoundError的解决办法
2020/09/16 Python
python 模拟登录B站的示例代码
2020/12/15 Python
H5 canvas中width、height和style的宽高区别详解
2018/11/02 HTML / CSS
Linux上比较文件的命令都有哪些
2012/02/24 面试题
汽车专业大学生职业生涯规划范文
2014/01/07 职场文书
写给老师的表扬信
2014/01/21 职场文书
理发店策划方案
2014/06/05 职场文书
领导班子党的群众路线对照检查材料
2014/09/25 职场文书
商业计划书如何写?关键问题有哪些?
2019/07/11 职场文书
了解Kubernetes中的Service和Endpoint
2022/04/01 Servers