python连接池实现示例程序


Posted in Python onNovember 26, 2013
import socket
import Queue
import threading
def worker():
    while True:
        i = q.get()
        conn=i[0]
        addr=i[1]
        while 1:
            sms=conn.recv(1024)
            if sms!="":
                print "Message from ("+str(addr[0])+":"+str(addr[1])+"): "+sms
            else:
                print "Close the Connection from ("+str(addr[0])+":"+str(addr[1])+")"
                conn.close()
                break
        q.task_done()
if __name__=="__main__":
    q = Queue.Queue()
    thread_num=5000
    s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
    s.setsockopt(socket.SOL_SOCKET,socket.SO_REUSEADDR,1)
    s.bind(("",4242))
    s.listen(50000)
    print "Server is listening at 4242"
    for _ in range(0,thread_num):
        t=threading.Thread(target=worker)
        t.setDaemon(1)
        t.start()
    while 1:
        conn,addr=s.accept()
        print "Connection come from ("+str(addr[0])+":"+str(addr[1])+")"
        q.put((conn,addr))
    q.join()
Python 相关文章推荐
python3抓取中文网页的方法
Jul 28 Python
Python对list列表结构中的值进行去重的方法总结
May 07 Python
最大K个数问题的Python版解法总结
Jun 16 Python
Python中断言Assertion的一些改进方案
Oct 27 Python
python中requests使用代理proxies方法介绍
Oct 25 Python
Python语言生成水仙花数代码示例
Dec 18 Python
Python比较2个时间大小的实现方法
Apr 10 Python
对Python发送带header的http请求方法详解
Jan 02 Python
python使用selenium实现批量文件下载
Mar 11 Python
Flask模板引擎之Jinja2语法介绍
Jun 26 Python
Jupyter加载文件的实现方法
Apr 14 Python
关于python的缩进规则的知识点详解
Jun 22 Python
使用python BeautifulSoup库抓取58手机维修信息
Nov 21 #Python
python BeautifulSoup使用方法详解
Nov 21 #Python
python装饰器使用方法实例
Nov 21 #Python
tornado框架blog模块分析与使用
Nov 21 #Python
python迭代器的使用方法实例
Nov 21 #Python
python生成器的使用方法
Nov 21 #Python
python单链表实现代码实例
Nov 21 #Python
You might like
php反弹shell实现代码
2009/04/22 PHP
php UTF8 文件的签名问题
2009/10/30 PHP
php中如何使对象可以像数组一样进行foreach循环
2013/08/09 PHP
php中自定义函数dump查看数组信息类似var_dump
2014/01/27 PHP
PHP实现负载均衡下的session共用功能
2018/04/17 PHP
让IE6支持min-width和max-width的方法
2010/06/25 Javascript
jquery+css3打造一款ajax分页插件(自写)
2014/06/18 Javascript
js canvas实现擦除动画
2016/07/16 Javascript
学习使用Bootstrap栅格系统
2017/05/11 Javascript
JavaScript闭包_动力节点Java学院整理
2017/06/27 Javascript
jQuery实现的电子时钟效果完整示例
2018/04/28 jQuery
angularjs性能优化的方法
2018/09/05 Javascript
JavaScript错误处理操作实例详解
2019/01/04 Javascript
利用Bootstrap Multiselect实现下拉框多选功能
2019/04/08 Javascript
详解基于原生JS验证表单组件xy-form
2019/08/20 Javascript
layer弹出层显示在top顶层的方法
2019/09/11 Javascript
小程序跨页面交互的作用与方法详解
2020/01/07 Javascript
vue-router的hooks用法详解
2020/06/08 Javascript
解决vue与node模版引擎的渲染标记{{}}(双花括号)冲突问题
2020/09/11 Javascript
vue前端和Django后端如何查询一定时间段内的数据
2021/02/28 Vue.js
在Python中进行自动化单元测试的教程
2015/04/15 Python
使用python将图片按标签分入不同文件夹的方法
2018/12/08 Python
python 函数内部修改外部变量的方法
2018/12/18 Python
scikit-learn线性回归,多元回归,多项式回归的实现
2019/08/29 Python
python多线程并发及测试框架案例
2019/10/15 Python
Python读取yaml文件的详细教程
2020/07/21 Python
详解如何使用CSS3中的结构伪类选择器和伪元素选择器
2020/01/06 HTML / CSS
企业行政文员岗位职责
2013/12/03 职场文书
教师个人自我鉴定
2014/02/08 职场文书
《大自然的语言》教学反思
2014/04/08 职场文书
学生自我评语大全
2014/04/18 职场文书
法人委托书
2014/07/31 职场文书
房屋租房协议书范本
2014/12/04 职场文书
2015年幼师工作总结
2015/04/28 职场文书
Mysql 性能监控及调优
2021/04/06 MySQL
Python编写nmap扫描工具
2021/07/21 Python