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控制台英汉汉英电子词典
Apr 23 Python
Python中模块string.py详解
Mar 12 Python
python如何压缩新文件到已有ZIP文件
Mar 14 Python
python numpy 按行归一化的实例
Jan 21 Python
Python的互斥锁与信号量详解
Sep 12 Python
Python3 使用map()批量的转换数据类型,如str转float的实现
Nov 29 Python
利用matplotlib实现根据实时数据动态更新图形
Dec 13 Python
python中提高pip install速度
Feb 14 Python
使用python自动追踪你的快递(物流推送邮箱)
Mar 17 Python
python定义类的简单用法
Jul 24 Python
python Selenium 库的使用技巧
Oct 16 Python
用python开发一款操作MySQL的小工具
May 12 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
层叠菜单的动态生成
2006/10/09 PHP
APMServ使用说明
2006/10/23 PHP
php发送post请求函数分享
2014/03/06 PHP
用PHP和Shell写Hadoop的MapReduce程序
2014/04/15 PHP
推荐10个提供免费PHP脚本下载的网站
2014/12/31 PHP
php为字符串前后添加指定数量字符的方法
2015/05/04 PHP
PHP Post获取不到非表单数据的问题解决办法
2018/02/27 PHP
PHP使用curl_multi_select解决curl_multi网页假死问题的方法
2018/08/15 PHP
判断脚本加载是否完成的方法
2009/05/26 Javascript
jQuery实现的在线答题功能
2015/04/12 Javascript
JavaScript前端开发之实现二进制读写操作
2015/11/04 Javascript
ECMAScript6--解构
2017/03/30 Javascript
JavaScript定时器setTimeout()和setInterval()详解
2017/08/18 Javascript
javascript实现获取一个日期段内每天不同的价格(计算入住总价格)
2018/02/05 Javascript
详解vue的数据劫持以及操作数组的坑
2019/04/18 Javascript
BootstrapValidator验证用户名已存在(ajax)
2019/11/08 Javascript
微信小程序webSocket的使用方法
2020/02/20 Javascript
js实现表单项的全选、反选及删除操作示例
2020/06/05 Javascript
vue实现一个6个输入框的验证码输入组件功能的实例代码
2020/06/29 Javascript
python使用htmllib分析网页内容的方法
2015/05/08 Python
浅析Python中将单词首字母大写的capitalize()方法
2015/05/18 Python
python中import与from方法总结(推荐)
2019/03/21 Python
Python CSV文件模块的使用案例分析
2019/12/21 Python
Python将list元素转存为CSV文件的实现
2020/11/16 Python
浅谈基于Canvas的手绘风格图形库Rough.js
2018/03/19 HTML / CSS
Banggood官网:面向全球客户的综合商城
2017/04/19 全球购物
个人能力自我鉴赏
2014/01/25 职场文书
财务会计毕业生个人求职信
2014/02/03 职场文书
2014乡镇“三八”国际劳动妇女节活动总结
2014/03/01 职场文书
体育比赛口号
2014/06/09 职场文书
公司踏青活动方案
2014/08/16 职场文书
关于国庆节的演讲稿
2014/09/05 职场文书
团组织推优材料
2014/12/29 职场文书
兼职安全员岗位职责
2015/02/15 职场文书
2016年小学党支部创先争优活动总结
2016/04/05 职场文书
使用Springboot实现健身房管理系统
2021/07/01 Java/Android