python之socketserver实现并发
python之socketserver实现并发
服务端
import socketserver
#socketserver模块是用来实现并发
# 我们自己的类里一定要继承socketserver.BaseRequestHandler方法
# 里面需要一个handle方法
# 每当客户端来连接时,就会创建一个实例,实例与实例之间独立
# 实例包含
# self.request:conn 作用:服务端收发信息的对象
# self.client_address:addr 作用:客户端的ip地址
class Myserver(socketserver.BaseRequestHandler):
def handle(self):
print("conn is:"+str(self.request))
print("conn is:" + str(self.client_address)) #通讯循环
while True:
#收信息
try:
data = self.request.recv(1024).decode('utf-8')
if data:
print("客户端发过来的信息:" + data) # 发信息
self.request.sendall(data.upper().encode('utf-8'))
except Exception as e:
continue
if __name__=="__main__":
#链接循环
#这个方法需要两个参数,((ip,port),Myserver)
s=socketserver.ThreadingTCPServer(('127.0.0.1',8080),Myserver)
#永远运行
s.serve_forever() #socketserver.ThreadingTCPServer()方法循环不端的接收新的连接
#handle()方法与客户端循环进行通讯
客户端
import socket def main():
ip_port = ('127.0.0.1', 8080) s2 = socket.socket(socket.AF_INET, socket.SOCK_STREAM) s2.connect(ip_port) # 连接服务端 while 1:
data1 = input("-->").strip()
if not data1:continue
if data1 =='quit':break
s2.sendall(data1.encode('utf8'))
data2=s2.recv(1024)
print(data2.decode("utf-8"))
if __name__ == '__main__':
main()
关于socketserver更多的介绍和使用,可以看一下这篇博文:
https://www.cnblogs.com/Security-Darren/p/4594393.html
python之socketserver实现并发的更多相关文章
- python 39 socketserver 模块并发通信
socketserver模块 socketserver模块实现一个服务端与多个客户端通信.是在socket的基础上进行了一层封装,底层还是调用的socket. socketserver干了两件事: 1 ...
- python利用socketserver实现并发套接字功能
本文实现利用python的socketserver这个强大的模块实现套接字的并发 目录结构如下: 测试文件请放在server_file文件夹里面 server.py #!/usr/bin/env py ...
- Python基础-socketserver
ocketserver通讯模块实现并发操作,基于select.epoll.socket.多线程,实现的正真多线程多并发 socketserver通讯模块底层调用的socket模块,只是它作了处理基于l ...
- 文件上传下载、socketserver(并发)、解读socketserver源码
1.文件上传/下载 学习了socket套接字,我们现在可以写一个文件上传/下载的程序,如下示例: 分析上边代码,我们发现,client发送上传文件相关信息的字典序列化之后,server又给client ...
- Python 多线程教程:并发与并行
转载于: https://my.oschina.net/leejun2005/blog/398826 在批评Python的讨论中,常常说起Python多线程是多么的难用.还有人对 global int ...
- 36、IO模型与socketserver实现并发
特别声明本随笔copy于egon(林海峰). 一 IO模型介绍 为了更好地了解IO模型,我们需要事先回顾下:同步.异步.阻塞.非阻塞 同步(synchronous) IO和异步(asynchronou ...
- socketserver实现并发
socketserver实现并发原理:给每一个前来链接的客户端开启一个线程执行通信.也就是给每一个连接“配备”了一个管家. 下面用一个简单的示例来演示socketserver实现并发(一个服务端,两个 ...
- python 使用多进程实现并发编程/使用queue进行进程间数据交换
import time import os import multiprocessing from multiprocessing import Queue, pool ""&qu ...
- 网络编程socketserver实现并发
import socketserver import struct import json import os class FtpServer(socketserver.BaseRequestHand ...
随机推荐
- Vue学习笔记二:v-cloak,v-text,v-html的使用
目录 v-cloak:解决插值表达式闪烁问题 安装插件Live Server 右键以HTTP形式运行HTML v-text:以属性方式使用插值表达式 v-cloak和v-text的区别 v-html: ...
- 《Java》第八周学习总结
第八周学习内容:课本第15章节的内容泛型与集合框架 主要内容有 -泛型-链表-堆栈-散列映射-树集-树映射 重点和难点-重点:泛型和集合的使用码云:https://gitee.com/ShengHu ...
- Linux samba服务器的搭建
目录 1. 安装samba 2. 配置smb.conf 3. 创建samba登陆用户 4. 创建samba共享文件夹 5. 重启samba服务 6. 访问samba共享文件夹 7. 参考资料 1. 安 ...
- JAVA通过http访问其他服务端API
项目要实现这么一个功能,用户通过点击按钮,通过axios来访问python的API(算法,java不好做)得到一个结果存储到数据库并且返回到页面. 但是python不是在tomcat上面运行的,所以不 ...
- git体验
(1)git初始化配置#配置用户名git config --global user.name "azcode"#配置邮箱git config --global user.email ...
- luogu P5304 [GXOI/GZOI2019]旅行者
传送门 所以这个\(5s\)是SMG 暴力是枚举每一个点跑最短路,然后有一个很拿衣服幼稚的想法,就是把所有给出的关键点当出发点,都丢到队列里,求最短路的时候如果当前点\(x\)某个相邻的点\(y\)是 ...
- java Socket实例
可以实现客户端与服务端双向通信,支持多客户端连接,客户端断开连接,服务端不会出现异常 服务端代码: package com.thinkgem.jeesite.modules.socketTest.de ...
- 【尚学堂·Hadoop学习】MapReduce案例2--好友推荐
案例描述 根据好友列表,推荐好友的好友 数据集 tom hello hadoop cat world hadoop hello hive cat tom hive mr hive hello hive ...
- 2018-2019-2 网络对抗技术 20165337 Exp1 PC平台逆向破解(BOF实验)
实验内容 直接修改程序,跳转到getShell函数. 使用BOF攻击,覆盖返回地址,触发getShell函数. 注入一个自己的shellcode并运行. 任务一:直接修改程序,跳转到getShell函 ...
- Python自动化中的元素定位xpath(二)
1.Xpath元素定位 1)ele = b.find_element_by_xpath(‘/html/body/from/input[1]’) 2)Ele = b.find_element_by_xp ...