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使用新浪微博api上传图片到微博示例
Jan 10 Python
Python科学计算之NumPy入门教程
Jan 15 Python
django输出html内容的实例
May 27 Python
python按时间排序目录下的文件实现方法
Oct 17 Python
python中对数据进行各种排序的方法
Jul 02 Python
seek引发的python文件读写的问题及解决
Jul 26 Python
在Python中os.fork()产生子进程的例子
Aug 08 Python
使用Python实现图像标记点的坐标输出功能
Aug 14 Python
tensorflow 固定部分参数训练,只训练部分参数的实例
Jan 20 Python
TensorFlow tf.nn.softmax_cross_entropy_with_logits的用法
Apr 19 Python
详解python with 上下文管理器
Sep 02 Python
Matlab使用Plot函数实现数据动态显示方法总结
Feb 25 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
咖啡冲泡指南 咖啡有哪些制作方式 单品咖啡 意式咖啡
2021/03/06 冲泡冲煮
具有时效性的php加密解密函数代码
2013/06/19 PHP
PHP _construct()函数讲解
2019/02/03 PHP
PHP7引入的"??"和"?:"的区别讲解
2019/04/08 PHP
PHP设计模式概论【概念、分类、原则等】
2020/05/01 PHP
轻轻松松学习JavaScript
2007/02/25 Javascript
Js+Flash实现访问剪切板操作
2012/11/20 Javascript
表格单元格交错着色实现思路及代码
2013/04/01 Javascript
jQuery中on()方法用法实例
2015/01/19 Javascript
jQuery树形下拉菜单特效代码分享
2015/08/15 Javascript
纯javascript响应式树形菜单效果
2015/11/10 Javascript
JavaScript判断是否是微信浏览器
2016/06/13 Javascript
简单实现js轮播图效果
2017/07/14 Javascript
js中的闭包学习心得
2018/02/06 Javascript
Vue封装的可编辑表格插件方法
2018/08/28 Javascript
浅谈从React渲染流程分析Diff算法
2018/09/08 Javascript
Element Input组件分析小结
2018/10/11 Javascript
js实现AI五子棋人机大战
2020/05/28 Javascript
基于Vue中的父子传值问题解决
2020/07/27 Javascript
详解Vue中Axios封装API接口的思路及方法
2020/10/10 Javascript
[14:00]DOTA2国际邀请赛史上最长大战 赛后专访B神
2013/08/10 DOTA
Python获取电脑硬件信息及状态的实现方法
2014/08/29 Python
Python2.7读取PDF文件的方法示例
2017/07/13 Python
Tensorflow使用tfrecord输入数据格式
2018/06/19 Python
Python应用领域和就业形势分析总结
2019/05/14 Python
PyQt4 treewidget 选择改变颜色,并设置可编辑的方法
2019/06/17 Python
tensorflow:指定gpu 限制使用量百分比,设置最小使用量的实现
2020/02/06 Python
适合Python初学者的一些编程技巧
2020/02/12 Python
python rsa-oaep加密的示例代码
2020/09/23 Python
详解Pycharm第三方库的安装及使用方法
2020/12/29 Python
英国时尚高尔夫服装购物网站:Trendy Golf
2020/01/10 全球购物
大学生水文观测实习自我鉴定
2013/09/29 职场文书
最新会计专业求职信范文
2014/01/28 职场文书
聚美优品恶搞广告词
2014/03/14 职场文书
纪律委员竞选稿
2015/11/19 职场文书
个人工作总结(管理人员)范文
2019/08/13 职场文书