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 相关文章推荐
Python Socket编程入门教程
Jul 11 Python
Python中使用glob和rmtree删除目录子目录及所有文件的例子
Nov 21 Python
详解Python中的日志模块logging
Jun 19 Python
在Python的Django框架中编写错误提示页面
Jul 22 Python
使用python绘制常用的图表
Aug 27 Python
从头学Python之编写可执行的.py文件
Nov 28 Python
Python多进程并发与多线程并发编程实例总结
Feb 08 Python
python使用PyQt5的简单方法
Feb 27 Python
python实现从wind导入数据
Dec 03 Python
Python合并2个字典成1个新字典的方法(9种)
Dec 19 Python
python实现3D地图可视化
Mar 25 Python
python 利用matplotlib在3D空间绘制二次抛物面的案例
Feb 06 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
德生PL550的电路分析
2021/03/02 无线电
php小技巧 把数组的键和值交换形成了新的数组,查找值取得键
2011/06/02 PHP
Netbeans 8.2将支持PHP7 更精彩
2016/06/13 PHP
php实现有序数组打印或排序的方法【附Python、C及Go语言实现代码】
2016/11/10 PHP
thinkphp3.2实现跨控制器调用其他模块的方法
2017/03/14 PHP
在一个form用一个SUBMIT(或button)分别提交到两个处理表单页面的代码
2007/02/15 Javascript
关于setInterval、setTimeout在jQuery中的使用注意事项
2011/09/28 Javascript
ECMAScript6中Map/WeakMap详解
2015/06/12 Javascript
JS基于FileSystemObject创建一个指定路径的TXT文本文件
2015/08/05 Javascript
浅析JavaScript中的变量复制、参数传递和作用域链
2016/01/13 Javascript
Javascript 函数的四种调用模式
2016/11/05 Javascript
vue2.0父子组件及非父子组件之间的通信方法
2017/01/21 Javascript
angular中的http拦截器Interceptors的实现
2017/02/21 Javascript
js实现加载页面就自动触发超链接的示例
2017/08/31 Javascript
解决LayUI表单获取不到data的问题
2018/08/20 Javascript
微信小程序局部刷新触发整页刷新效果的实现代码
2018/11/21 Javascript
微信小程序HTTP接口请求封装代码实例
2019/09/05 Javascript
原生js实现自定义难度的扫雷游戏
2021/01/22 Javascript
用Python计算三角函数之atan()方法的使用
2015/05/15 Python
使用Python对Excel进行读写操作
2017/03/30 Python
分享一下如何编写高效且优雅的 Python 代码
2017/09/07 Python
Python实现定时备份mysql数据库并把备份数据库邮件发送
2018/03/08 Python
python+splinter实现12306网站刷票并自动购票流程
2018/09/25 Python
python识别文字(基于tesseract)代码实例
2019/08/24 Python
Python自动登录QQ的实现示例
2020/08/28 Python
使用python实现学生信息管理系统
2021/02/25 Python
简约控的天堂:The Undone
2016/12/21 全球购物
Hotels.com爱尔兰:全球酒店预订
2017/02/24 全球购物
NFL官方在线商店:NFLShop
2020/07/29 全球购物
创业计划书模版
2014/02/05 职场文书
乡镇干部个人对照检查材料思想汇报
2014/10/04 职场文书
小学语文教师年度考核个人总结
2015/02/05 职场文书
酒店人事专员岗位职责
2015/04/07 职场文书
tensorflow+k-means聚类简单实现猫狗图像分类的方法
2021/04/28 Python
教你怎么用PyCharm为同一服务器配置多个python解释器
2021/05/31 Python
MySQL常见优化方案汇总
2022/01/18 MySQL