单进程服务器(python版)
来源:互联网 发布:电脑电话营销软件 编辑:程序博客网 时间:2024/06/06 17:37
单进程服务器
1. 完成一个简单的TCP服务器
from socket import *serSocket = socket(AF_INET, SOCK_STREAM)# 重复使用绑定的信息serSocket.setsockopt(SOL_SOCKET, SO_REUSEADDR , 1)localAddr = ('', 7788)serSocket.bind(localAddr)serSocket.listen(5)while True: print('-----主进程,,等待新客户端的到来------') newSocket,destAddr = serSocket.accept() print('-----主进程,,接下来负责数据处理[%s]-----'%str(destAddr)) try: while True: recvData = newSocket.recv(1024) if len(recvData)>0: print('recv[%s]:%s'%(str(destAddr), recvData)) else: print('[%s]客户端已经关闭'%str(destAddr)) break finally: newSocket.close()serSocket.close()
2. 总结
- 同一时刻只能为一个客户进行服务,不能同时为多个客户服务
- 类似于找一个“明星”签字一样,客户需要耐心等待才可以获取到服务
当服务器为一个客户端服务时,而另外的客户端发起了connect,只要服务器listen的队列有空闲的位置,就会为这个新客户端进行连接,并且客户端可以发送数据,但当服务器为这个新客户端服务时,可能一次性把所有数据接收完毕
- 当recv接收数据时,返回值为空,即没有返回数据,那么意味着客户端已经调用了close关闭了;因此服务器通过判断recv接收数据是否为空 来判断客户端是否已经下线
阅读全文
0 0
- 单进程服务器(python版)
- 单进程select版-TCP服务器(python 版)
- 单进程epoll版-TCP服务器(python 版)
- 单进程gevent版-TCP服务器(python 版)
- 单进程服务器-非堵塞模式(python版)
- Python版单进程、多进程、多线程服务器
- 单进程+多线程+同步 python 服务器 demo
- python非阻塞式单进程服务器
- 单进程单线程,完成并发服务器(基础版)
- 单进程单线程,完成并发服务器(select版)
- 单进程单线程,完成并发服务器(epoll版)
- 单进程+单线程+异步IOLoop python 服务器 demo
- 多进程服务器(python 版)
- python --- 多线程处理(单进程/多进程)
- 单进程非阻塞服务器
- 单服务器单进程吞吐量优化总结
- socket编程(TCP单进程客户服务器通信)
- 中断可恢复性-爬虫系统(广度优先-python单进程版)
- 支持FLIR红外摄像头和可见光摄像头的网络转换板的方案设计
- mysql远程连接(navicat连接 10038,1045错误)
- 深度学习基础(一)
- DirectX 10学习笔记3: Buffers,Shaders以及HLSL
- 图标字体的制作
- 单进程服务器(python版)
- php文件操作 读取写入操作
- C#高级学习第七章-文件操作
- DrawerLayout+Tablayout+PullTofresh+Fragment(Viewpage)
- nodejs 单线程,异步回调,事件
- 【最大独立集 && 有墙 && 无向图】HDU
- 三秒跳转第二次登录直接跳过
- 南宁杯CTF以及中科大CTF的一点总结
- 判断网络是否连接