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 相关文章推荐
SublimeText 2编译python出错的解决方法(The system cannot find the file specified)
Nov 27 Python
一些Python中的二维数组的操作方法
May 02 Python
Django卸载之后重新安装的方法
Mar 15 Python
Python定时发送消息的脚本:每天跟你女朋友说晚安
Oct 21 Python
pyqt5 键盘监听按下enter 就登陆的实例
Jun 25 Python
python使用minimax算法实现五子棋
Jul 29 Python
python图形绘制奥运五环实例讲解
Sep 14 Python
python异步Web框架sanic的实现
Apr 27 Python
QML用PathView实现轮播图
Jun 03 Python
pytorch实现查看当前学习率
Jun 24 Python
Python获取浏览器窗口句柄过程解析
Jul 25 Python
python实现人工蜂群算法
Sep 18 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
牡丹941资料
2021/03/01 无线电
ftp类(myftp.php)
2006/10/09 PHP
PHP与SQL注入攻击[三]
2007/04/17 PHP
使用php+Ajax实现唯一校验实现代码[简单应用]
2011/11/29 PHP
PHP面向对象学习笔记之一 基础概念
2012/10/06 PHP
php获取服务器信息的实现代码
2013/02/04 PHP
php中多维数组按指定value排序的实现代码
2014/08/19 PHP
php+js实现的无刷新下载文件功能示例
2019/08/23 PHP
JavaScript的面向对象(二)
2006/11/09 Javascript
GridView中获取被点击行中的DropDownList和TextBox中的值
2013/07/18 Javascript
基于JavaScript实现移动端TAB触屏切换效果
2015/10/20 Javascript
jQuery遮罩层实现方法实例详解(附遮罩层插件)
2015/12/08 Javascript
jQuery弹层插件jquery.fancybox.js用法实例
2016/01/22 Javascript
JavaScript SHA-256加密算法详细代码
2016/10/06 Javascript
vue双向绑定简要分析
2017/03/23 Javascript
React-native桥接Android原生开发详解
2018/01/17 Javascript
vue双向数据绑定知识点总结
2018/04/18 Javascript
在Vue中用canvas实现二维码和图片合成海报的方法
2019/06/10 Javascript
[43:32]2014 DOTA2华西杯精英邀请赛 5 25 LGD VS NewBee第一场
2014/05/26 DOTA
python使用any判断一个对象是否为空的方法
2014/11/19 Python
使用Python的Django框架结合jQuery实现AJAX购物车页面
2016/04/11 Python
Python列表list内建函数用法实例分析【insert、remove、index、pop等】
2017/07/24 Python
微信跳一跳辅助python代码实现
2018/01/05 Python
Pandas 数据处理,数据清洗详解
2018/07/10 Python
python基于opencv检测程序运行效率
2019/12/28 Python
Python 生成VOC格式的标签实例
2020/03/10 Python
jupyter notebook中美观显示矩阵实例
2020/04/17 Python
keras CNN卷积核可视化,热度图教程
2020/06/22 Python
HTML5 Canvas图像模糊完美解决办法
2018/02/06 HTML / CSS
Sisley法国希思黎美国官方网站:享誉全球的奢华植物美容品牌
2020/06/27 全球购物
"序列点" 是什么
2016/07/29 面试题
关于Assembly命名空间的三个面试题
2015/07/23 面试题
保研推荐信
2014/05/09 职场文书
小学生倡议书范文
2014/05/13 职场文书
小学四年级班主任工作经验交流材料
2015/11/02 职场文书
Goland使用Go Modules创建/管理项目的操作
2021/05/06 Golang