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的多线程是否有用需 ...
随机推荐
- php缓存技术有哪些(总结)
php缓存技术有哪些(总结) 一.总结 一句话总结: 静态页面:全页面静态化缓存,页面部分缓存(将页面中不常变动的部分进行静态化缓存), 数据缓存:比如我的每轮的题目数据,商店,寻宝数据等 数据库:查 ...
- String and Times
String and Times 时间限制: 1 Sec 内存限制: 128 MB 题目描述 Now you have a string consists of uppercase letters, ...
- fft模板 HDU 1402
// fft模板 HDU 1402 #include <iostream> #include <cstdio> #include <cstdlib> #includ ...
- bzoj 3110 [Zjoi2013]K大数查询——线段树套线段树(标记永久化)
题目:https://www.lydsy.com/JudgeOnline/problem.php?id=3110 第一道线段树套线段树! 第一道标记永久化! 为什么为什么写了两个半小时啊…… 本想线段 ...
- Hdu 1403(后缀数组)
题目链接 Longest Common Substring Time Limit: 8000/4000 MS (Java/Others) Memory Limit: 65536/32768 K ...
- Django--登录功能
登录功能: 1.路由访问如果不加斜杠,内部会重定向加斜杠的路由 所有的html文件都默认卸载templates文件夹下面 所有的(css,js,前端第三方的类库)默认都放在static文件夹下 htm ...
- mysql导入数据中文乱码解决方法
常见的MySQL导入方法有两种 第一种方法,使用MySQL命令导入 mysql -uroot -p123456 --default-character-set=utf8 [db_name] < ...
- wordpress主题之后台菜单编辑,小工具
1一:菜单编辑 在functions.php 文件加入 if (function_exists('register_nav_menus')) { register_nav_menus(array( / ...
- sublime3安装javascript控制台环境 方法2
1.下载node.js sublimeText3- 安装nodejs插件 ctrl+shift+p — install package —nodejs 2.修改配置文件 在 Sublie Text ...
- 存储过程--mysql
https://zhuanlan.zhihu.com/p/23423264 存储过程-官方解释: 是sql语句和控制语句的预编译集合.以一个名称存储并作为一个单元处理. 存储过程-直白的说: 把需要的 ...