2019.10.22 用TCP实现服务端并发接收
client
import socket
client = socket.socket()
client.connect(
('127.0.0.1',8888)
)
while 1:
msg = input('input>>>')
if msg == 'q':
break
client.send(msg.encode('utf-8'))
data = client.recv(1024).decode('utf-8')
print(data)
client.close()
server线程解决
import socket
from multiprocessing import Process,Queue
import threading
import socketserver
# q = Queue(4)
server = socket.socket()
server.bind(
('127.0.0.1', 8888)
)
server.listen(3)
def se():
while 1:
conn,addr = server.accept()
print(addr)
while 1:
try:
data = conn.recv(1024).decode('utf-8')
print(data)
conn.send(data.encode('utf-8'))
except Exception as e:
print(e)
break
conn.close()
if __name__ == '__main__':
p1 = threading.Thread(target=se)
p2 = threading.Thread(target=se)
p3 = threading.Thread(target=se)
p1.start()
p2.start()
p3.start()
server进程解决
from multiprocessing import Process
import socket
def se(ser):
while 1:
# q.put(sb)
conn,addr = ser.accept()
print(addr)
while 1:
try:
data = conn.recv(1024).decode('utf-8')
print(data)
conn.send(data.encode('utf-8'))
except Exception as e:
print(e)
break
conn.close()
if __name__ == '__main__':
server = socket.socket()
server.bind(
('127.0.0.1', 8888)
)
server.listen(3)
p1 = Process(target=se,args = (server,))
p2 = Process(target=se,args = (server,))
p3 = Process(target=se,args = (server,))
p1.start()
p2.start()
p3.start()
2019.10.22 用TCP实现服务端并发接收的更多相关文章
- TCP协议下的服务端并发,GIL全局解释器锁,死锁,信号量,event事件,线程q
TCP协议下的服务端并发,GIL全局解释器锁,死锁,信号量,event事件,线程q 一.TCP协议下的服务端并发 ''' 将不同的功能尽量拆分成不同的函数,拆分出来的功能可以被多个地方使用 TCP服务 ...
- UDP广播 与 TCP客户端 --服务端
随着倒计时的响声,自觉无心工作,只想为祖国庆生. 最近有遇到过这样一个问题,将摄像头识别的行人,车辆实时显示在客户端中.有提供接口,会以Json的数据的形式将实时将识别的对象进行Post提交.所以我们 ...
- TCP/IP网络编程之基于TCP的服务端/客户端(二)
回声客户端问题 上一章TCP/IP网络编程之基于TCP的服务端/客户端(一)中,我们解释了回声客户端所存在的问题,那么单单是客户端的问题,服务端没有任何问题?是的,服务端没有问题,现在先让我们回顾下服 ...
- TCP/IP网络编程之基于TCP的服务端/客户端(一)
理解TCP和UDP 根据数据传输方式的不同,基于网络协议的套接字一般分为TCP套接字和UDP套接字.因为TCP套接字是面向连接的,因此又称为基于流(stream)的套接字.TCP是Transmissi ...
- java TCP 通信:服务端与客服端
1.首先先来看下基于TCP协议Socket服务端和客户端的通信模型: Socket通信步骤:(简单分为4步) 1.建立服务端ServerSocket和客户端Socket 2.打开连接到Socket的输 ...
- 基于TCP协议套接字,服务端实现接收客户端的连接并发
基于TCP协议套接字,服务端实现接收客户端的连接并发 服务端 import socket from multiprocessing import Process server=socket.socke ...
- 写一个基于TCP协议套接字,服务端实现接收客户端的连接并发
''' 写一个基于TCP协议套接字,服务端实现接收客户端的连接并发 ''' client import socket import time client = socket.socket() clie ...
- 进程池与线程池、协程、协程实现TCP服务端并发、IO模型
进程池与线程池.协程.协程实现TCP服务端并发.IO模型 一.进程池与线程池 1.线程池 ''' 开进程开线程都需要消耗资源,只不过两者比较的情况下线程消耗的资源比较少 在计算机能够承受范围内最大限度 ...
- python并发编程-多线程实现服务端并发-GIL全局解释器锁-验证python多线程是否有用-死锁-递归锁-信号量-Event事件-线程结合队列-03
目录 结合多线程实现服务端并发(不用socketserver模块) 服务端代码 客户端代码 CIL全局解释器锁****** 可能被问到的两个判断 与普通互斥锁的区别 验证python的多线程是否有用需 ...
随机推荐
- vue 获取当前元素
获取当前元素 Html: <li><a href="#" v-on:click="typeStyle">萨克斯萨克<span> ...
- 在 Angularjs 中$state.go 如何传递参数
在目标页面规定接受的参数: .state('app.AttendanceEditFixed', { url: '/AttendanceEditFixed', params: {'id': null,' ...
- 安卓手机--键盘谈起后 fixed背景图片被键盘顶起的问题
参考文章: vue写法: <div class="main" :style="{ height: bodyHeight + 'px' }"> < ...
- OCP/OCA Oracle 学习001
select * from TEST3 t select object_type, count(object_type) from user_objects group by object_type ...
- VS2015使用Nuget安装OpenCV3.X以及Python3安装OpenCV3.X
VS2015已经自带Nuget安装工具了,所以,新建一个项目,点击管理Nuget包 搜索OpenCV3 注意,目前只有这个版本支持VS2015,也就是平台工具集可以为vs140,其他的都会报错,报错我 ...
- Dapper的分页代码
public KeyValuePair<Pagination, IList<AttachmentModel>> AttachmentPagination(Pagination ...
- vue 权限管理
核心想法: 登陆后获得用户角色,通过角色获得用户的权限,注入权限对应的路由.刷新页面,从localStorage用角色(更好的方式是通过token)再次获得所属权限,再次注入路由.在管理界面左端循环权 ...
- Django项目:CRM(客户关系管理系统)--34--26PerfectCRM实现King_admin自定义排序
ordering = ['-qq'] #自定义排序,默认'-id' #base_admin.py # ————————24PerfectCRM实现King_admin自定义操作数据———————— f ...
- CSS--去除除文本基线的几种方式
削除文本基线的几种方式:1.display:block2.vertical-align:middle3.font-size:0px
- node 和npm环境安装
node 安装 1.下载node二进制文件 [root@baolin-images#>> ~]#wget https://nodejs.org/dist/v10.16.0/node-v10 ...