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中的__init__和__new__
Mar 12 Python
python通过wxPython打开一个音频文件并播放的方法
Mar 25 Python
浅析Python数据处理
May 02 Python
Django添加favicon.ico图标的示例代码
Aug 07 Python
python pandas实现excel转为html格式的方法
Oct 23 Python
python 定义n个变量方法 (变量声明自动化)
Nov 10 Python
树莓派动作捕捉抓拍存储图像脚本
Jun 22 Python
如何安装2019Pycharm最新版本(详细教程)
Sep 26 Python
wxPython实现分隔窗口
Nov 19 Python
pandas读取csv文件提示不存在的解决方法及原因分析
Apr 21 Python
对python中arange()和linspace()的区别说明
May 03 Python
Django实现翻页的示例代码
May 24 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 Opcache安装和配置方法介绍
2015/05/28 PHP
分享PHP-pcntl 实现多进程代码
2016/09/30 PHP
Laravel 修改验证异常的响应格式实例代码详解
2020/05/25 PHP
解决javascript:window.close()在chrome,Firefox下失效的问题
2013/05/07 Javascript
javaScript如何处理从java后台返回的list
2014/04/24 Javascript
Angular.js基础学习之初始化
2017/03/10 Javascript
Zepto实现密码的隐藏/显示
2017/04/07 Javascript
详解nodeJS之二进制buffer对象
2017/06/03 NodeJs
js如何找出字符串中的最长回文串
2018/06/04 Javascript
基于vue实现可搜索下拉框定制组件
2020/03/26 Javascript
JavaScript中十种一步拷贝数组的方法实例详解
2019/04/22 Javascript
vue百度地图 + 定位的详解
2019/05/13 Javascript
微信小程序引入模块中wxml、wxss、js的方法示例
2019/08/09 Javascript
LayUI switch 开关监听 获取属性值、更改状态的方法
2019/09/21 Javascript
原生js实现表格翻页和跳转
2020/09/29 Javascript
如何在JavaScript中正确处理变量
2020/12/25 Javascript
Python基于select实现的socket服务器
2016/04/13 Python
SQLite3中文编码 Python的实现
2017/01/11 Python
利用Python脚本实现ping百度和google的方法
2017/01/24 Python
Python3.X 线程中信号量的使用方法示例
2017/07/24 Python
python基础教程项目五之虚拟茶话会
2018/04/02 Python
Django给admin添加Action的步骤详解
2019/05/01 Python
Python3批量生成带logo的二维码方法
2019/06/24 Python
在linux下实现 python 监控usb设备信号
2019/07/03 Python
Python super()方法原理详解
2020/03/31 Python
Python %r和%s区别代码实例解析
2020/04/03 Python
如何提高python 中for循环的效率
2020/04/15 Python
HTML5 虚拟键盘出现挡住输入框的解决办法
2017/02/14 HTML / CSS
Coccinelle官网:意大利的著名皮具品牌
2019/05/15 全球购物
保加利亚运动鞋购物网站:SneakerStudio.bg
2020/12/23 全球购物
元旦联欢会主持词
2014/03/26 职场文书
预备党员自我评价范文
2015/03/04 职场文书
2015年评职称工作总结范文
2015/04/20 职场文书
社区党建工作总结2015
2015/05/13 职场文书
2017年大学生寒假社会实践活动总结
2016/04/06 职场文书
python cv2图像质量压缩的算法示例
2021/06/04 Python