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 相关文章推荐
在Lighttpd服务器中运行Django应用的方法
Jul 22 Python
Python装饰器基础详解
Mar 09 Python
Python爬虫实例_利用百度地图API批量获取城市所有的POI点
Jan 10 Python
使用numba对Python运算加速的方法
Oct 15 Python
python获取array中指定元素的示例
Nov 26 Python
python 实现一个反向单位矩阵示例
Nov 29 Python
pytorch之ImageFolder使用详解
Jan 06 Python
Python使用configparser库读取配置文件
Feb 22 Python
Python3中的f-Strings增强版字符串格式化方法
Mar 04 Python
Python多线程通信queue队列用法实例分析
Mar 24 Python
Python新手学习装饰器
Jun 04 Python
基于K.image_data_format() == 'channels_first' 的理解
Jun 29 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用正则表达式匹配中文实例详解
2013/11/06 PHP
ThinkPHP实现事务回滚示例代码
2014/06/23 PHP
Firefox下提示illegal character并出现乱码的原因
2010/03/25 Javascript
Javascript访问器属性实例分析
2014/12/30 Javascript
基于jquery实现鼠标左右拖动滑块滑动附源码下载
2015/12/23 Javascript
ES6中非常实用的新特性介绍
2016/03/10 Javascript
jQuery增加和删除表格项目及实现表格项目排序的方法
2016/05/30 Javascript
Bootstrap警告(Alerts)的实现方法
2017/03/22 Javascript
JavaScript 获取元素在父节点中的下标(推荐)
2017/06/28 Javascript
详解React-Native解决键盘遮挡问题(Keyboard遮挡问题)
2017/07/13 Javascript
详解react服务端渲染(同构)的方法
2017/09/21 Javascript
switchery按钮的使用方法
2017/12/18 Javascript
JavaScript创建对象的四种常用模式实例分析
2019/01/11 Javascript
jquery实现选项卡切换代码实例
2019/05/14 jQuery
关于layui 弹出层一闪而过就消失的解决方法
2019/09/09 Javascript
vue实现拖拽效果
2019/12/23 Javascript
JS document form表单元素操作完整示例
2020/01/13 Javascript
python重试装饰器示例
2014/02/11 Python
详解Python函数作用域的LEGB顺序
2016/05/14 Python
Python实现扩展内置类型的方法分析
2017/10/16 Python
python 将md5转为16字节的方法
2018/05/29 Python
python实现梯度下降算法
2020/03/24 Python
浅析pandas 数据结构中的DataFrame
2019/10/12 Python
Python笔记之代理模式
2019/11/20 Python
python中有帮助函数吗
2020/06/19 Python
Pycharm Available Package无法显示/安装包的问题Error Loading Package List解决
2020/09/18 Python
英国山地公路自行车商店:Tweeks Cycles
2018/03/16 全球购物
实习生自荐信范文
2013/11/13 职场文书
吸烟检讨书2000字
2014/02/13 职场文书
《在家里》教后反思
2014/03/01 职场文书
餐厅周年庆活动方案
2014/08/25 职场文书
表扬稿格式范文
2015/01/16 职场文书
应届毕业生求职简历自我评价
2015/03/02 职场文书
旅游项目合作意向书
2015/05/08 职场文书
贫困生证明范文
2015/06/16 职场文书
Redis超详细讲解高可用主从复制基础与哨兵模式方案
2022/04/07 Redis