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目录操作之python遍历文件夹后将结果存储为xml
Jan 27 Python
Python函数式编程指南(二):从函数开始
Jun 24 Python
python WindowsError的错误代码详解
Jul 23 Python
Python Web编程之WSGI协议简介
Jul 18 Python
python实现简单http服务器功能
Sep 17 Python
python redis 删除key脚本的实例
Feb 19 Python
Python 窗体(tkinter)按钮 位置实例
Jun 13 Python
Python动态语言与鸭子类型详解
Jul 01 Python
Django ORM 查询管理器源码解析
Aug 05 Python
Python用类实现扑克牌发牌的示例代码
Jun 01 Python
python简单实现插入排序实例代码
Dec 16 Python
python爬虫之selenium库的安装及使用教程
May 23 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 内存缓存加速功能memcached安装与用法
2009/09/03 PHP
frename PHP 灵活文件命名函数 frename
2009/09/09 PHP
php中计算中文字符串长度、截取中文字符串的函数代码
2011/08/09 PHP
深入PHP异步执行的详解
2013/06/03 PHP
一个简单的php加密解密函数(动态加密)
2013/06/19 PHP
php面向对象与面向过程两种方法给图片添加文字水印
2015/08/26 PHP
php基础教程
2015/08/26 PHP
解析WordPress中的post_class与get_post_class函数
2016/01/04 PHP
PHP生成(支持多模板)二维码海报代码
2018/04/30 PHP
变量声明时命名与变量作为对象属性时命名的区别解析
2013/12/06 Javascript
用模版生成HTML的的框架jquery.tmpl使用详解
2015/01/07 Javascript
AngularJS基础 ng-mouseover 指令简单示例
2016/08/02 Javascript
select隐藏选中值对应的id,显示其它id的简单实现方法
2016/08/25 Javascript
微信js-sdk预览图片接口及从拍照或手机相册中选图接口用法示例
2016/10/13 Javascript
利用jQuery对无序列表排序的简单方法
2016/10/16 Javascript
微信公众平台开发教程(五)详解自定义菜单
2016/12/02 Javascript
jQuery实现字体颜色渐变效果的方法
2017/03/29 jQuery
JScript实现地址选择功能
2017/08/15 Javascript
用react-redux实现react组件之间数据共享的方法
2018/06/08 Javascript
JS计算两个数组的交集、差集、并集、补集(多种实现方式)
2019/05/21 Javascript
vue-cli配置flexible过程详解
2019/07/04 Javascript
layui 弹出层值回传解决方式
2019/11/14 Javascript
微信小程序实现滑动翻页效果(完整代码)
2019/12/06 Javascript
Nodejs + Websocket 指定发送及群聊的实现
2020/01/09 NodeJs
vue中el-input绑定键盘按键(按键修饰符)
2020/07/22 Javascript
[03:02]辉夜杯主赛事第二日 每日之星
2015/12/27 DOTA
Python实现获取某天是某个月中的第几周
2015/02/11 Python
轻松实现python搭建微信公众平台
2016/02/16 Python
美体小铺加拿大官方网站:The Body Shop加拿大
2016/10/30 全球购物
PacSun官网:加州生活方式服装、鞋子和配饰
2018/03/10 全球购物
小学英语教学反思
2014/01/30 职场文书
电力公司个人求职信范文
2014/02/04 职场文书
资金主管岗位职责范本
2014/03/04 职场文书
党的群众路线教育实践活动方案
2014/10/31 职场文书
租赁协议书
2015/01/27 职场文书
2015大学生求职信范文
2015/03/20 职场文书