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使用PyCharm进行远程开发和调试
Nov 02 Python
python中文乱码不着急,先看懂字节和字符
Dec 20 Python
Python基于socket实现简单的即时通讯功能示例
Jan 16 Python
Python 输出时去掉列表元组外面的方括号与圆括号的方法
Dec 24 Python
Python选择网卡发包及接收数据包
Apr 04 Python
python图像和办公文档处理总结
May 28 Python
pygame实现打字游戏
Feb 19 Python
详解centos7+django+python3+mysql+阿里云部署项目全流程
Nov 15 Python
Python中常用的高阶函数实例详解
Feb 21 Python
解决python多线程报错:AttributeError: Can't pickle local object问题
Apr 08 Python
python3.6.5基于kerberos认证的hive和hdfs连接调用方式
Jun 06 Python
Python使用OpenCV实现虚拟缩放效果
Feb 28 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
为什么夜间收到的中波电台比白天多
2021/03/01 无线电
一个没有MYSQL数据库支持的简易留言本的编写
2006/10/09 PHP
thinkphp循环结构用法实例
2014/11/24 PHP
给WordPress中的留言加上楼层号的PHP代码实例
2015/12/14 PHP
非常实用的php验证码类
2016/05/15 PHP
php类的自动加载操作实例详解
2016/09/28 PHP
Redis使用Eval多个键值自增的操作实例
2016/11/04 PHP
Thinkphp框架使用list_to_tree 实现无限级分类列出所有节点示例
2020/04/04 PHP
JavaScript DOM 学习第七章 表单的扩展
2010/02/19 Javascript
代码触发js事件(click、change)示例应用
2013/12/13 Javascript
JS获取浏览器语言动态加载JS文件示例代码
2014/10/31 Javascript
使用jQuery不判断浏览器高度解决iframe自适应高度问题
2014/12/16 Javascript
在javascript中随机数 math random如何生成指定范围数值的随机数
2015/10/21 Javascript
JavaScript中Object.prototype.toString方法的原理
2016/02/24 Javascript
jQuery插件ajaxfileupload.js实现上传文件
2020/10/23 Javascript
ES6下React组件的写法示例代码
2017/05/04 Javascript
微信小程序 navbar实例详解
2017/05/11 Javascript
BootStrap模态框和select2合用时input无法获取焦点的解决方法
2017/09/01 Javascript
JS获取数组中出现次数最多及第二多元素的方法
2017/10/27 Javascript
Webpack框架核心概念(知识点整理)
2017/12/22 Javascript
vue.js实现的全选与全不选功能示例【基于elementui】
2018/12/03 Javascript
HTML+JS实现“代码雨”效果源码(黑客帝国文字下落效果)
2020/03/17 Javascript
Node.js API详解之 tty功能与用法实例分析
2020/04/27 Javascript
通过实例解析chrome如何在mac环境中安装vue-devtools插件
2020/07/10 Javascript
[01:19]2014DOTA2国际邀请赛 采访TITAN战队ohaiyo 能赢DK很幸运
2014/07/12 DOTA
[01:07:19]2018DOTA2亚洲邀请赛 4.5 淘汰赛 Mineski vs VG 第一场
2018/04/06 DOTA
一个简单的python程序实例(通讯录)
2013/11/29 Python
微信跳一跳自动运行python脚本
2018/01/08 Python
Python中跳台阶、变态跳台阶与矩形覆盖问题的解决方法
2018/05/19 Python
python 异或加密字符串的实例
2018/10/14 Python
详解Python字典小结
2018/10/20 Python
python爬取王者荣耀全皮肤的简单实现代码
2020/01/31 Python
Matlab使用Plot函数实现数据动态显示方法总结
2021/02/25 Python
input元素的url类型和email类型简介
2012/07/11 HTML / CSS
实习生的自我评价
2014/01/08 职场文书
中学生校园广播稿
2014/01/16 职场文书