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中使用PyQt把网页转换成PDF操作代码实例
Apr 23 Python
python使用PyGame绘制图像并保存为图片文件的方法
Apr 24 Python
Python实现命令行通讯录实例教程
Aug 18 Python
利用pandas读取中文数据集的方法
Jul 25 Python
python实现根据文件关键字进行切分为多个文件的示例
Dec 10 Python
python 删除字符串中连续多个空格并保留一个的方法
Dec 22 Python
Pycharm之快速定位到某行快捷键的方法
Jan 20 Python
python递归下载文件夹下所有文件
Aug 31 Python
Python开发之基于模板匹配的信用卡数字识别功能
Jan 13 Python
python烟花效果的代码实例
Feb 25 Python
PyQt5 界面显示无响应的实现
Mar 26 Python
解决PDF 转图片时丢文字的一种可能方式
Mar 04 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实现的验证码小程序
2016/12/13 PHP
Laravel学习教程之路由模块
2017/08/18 PHP
搭建PhpStorm+PhpStudy开发环境的超详细教程
2020/09/17 PHP
用于table内容排序
2006/07/21 Javascript
用js实现手把手教你月入万刀(转贴)
2007/11/07 Javascript
jquery实现隐藏与显示动画效果/输入框字符动态递减/导航按钮切换
2013/07/01 Javascript
JS冒泡事件的快速解决方法
2013/12/16 Javascript
node.js中的console.assert方法使用说明
2014/12/10 Javascript
jQuery动态修改超链接地址的方法
2015/02/13 Javascript
jQuery实现下拉加载功能实例代码
2016/04/01 Javascript
js中 计算两个日期间的工作日的简单实例
2016/08/08 Javascript
Json对象和字符串互相转换json数据拼接和JSON使用方式详细介绍(小结)
2016/10/25 Javascript
AngularJS动态菜单操作指令
2017/04/25 Javascript
AngularJS实现的回到顶部指令功能实例
2017/05/17 Javascript
JavaScript中document.referrer的用法详解
2017/07/04 Javascript
angular json对象push到数组中的方法
2018/02/27 Javascript
Vue.js实现表格渲染的方法
2018/09/07 Javascript
JS 实现微信扫一扫功能
2018/09/14 Javascript
vue使用keep-alive实现组件切换时保存原组件数据方法
2020/10/30 Javascript
Windows上使用virtualenv搭建Python+Flask开发环境
2016/06/07 Python
Python 模板引擎的注入问题分析
2017/01/01 Python
python实现八大排序算法(2)
2017/09/14 Python
Python神奇的内置函数locals的实例讲解
2019/02/22 Python
淘宝秒杀python脚本 扫码登录版
2019/09/19 Python
在OpenCV里实现条码区域识别的方法示例
2019/12/04 Python
python列表返回重复数据的下标
2020/02/10 Python
Python 实现简单的客户端认证
2020/07/29 Python
纯CSS3编写的的精美动画进度条(无flash/无图像/无脚本/附源码)
2013/01/07 HTML / CSS
css3实现书本翻页效果的示例代码
2021/03/08 HTML / CSS
加拿大最大的相机店:Henry’s
2017/05/17 全球购物
澳大利亚婴儿礼品公司:The Baby Gift Company
2018/11/04 全球购物
什么是事务?为什么需要事务?
2012/01/09 面试题
竞选班干部演讲稿300字
2014/08/20 职场文书
爱国主义电影观后感
2015/06/18 职场文书
小学见习报告
2015/06/23 职场文书
详解Flutter和Dart取消Future的三种方法
2022/04/07 Java/Android