python写tcp服务器_用Python实现一个简单的多线程TCP服务器的教程
最近看《python核心编程》,书中实现了一个简单的1对1的TCPserver,但是在实际使用中1对1的形势明显是不行的,所以研究了一下如何在server端通过启动不同的线程(进程)来实现每个链接一个线程。
其实python在类的设计上已经考虑到了这一方面的需求,我们只要在自己的server上继承一下SocketServer.BaseRequestHandler就可以了。
server端代码如下:
#!/usr/bin/env python
import SocketServer
from time import ctime
HOST = ''
PORT = 21567
ADDR = (HOST, PORT)
class MyRequestHandler(SocketServer.BaseRequestHandler):
def handle(self):
print '...connected from:', self.client_address
while True:
self.request.sendall('[%s] %s' % (ctime(),self.request.recv(1024)))
tcpServ = SocketServer.ThreadingTCPServer(ADDR, MyRequestHandler)
print 'waiting for connection...'
tcpServ.serve_forever()
客户端代码如下(基本和书中一模一样,只是把循环中的关闭链接注释掉了):
#!/usr/bin/env python
from socket import *
HOST = 'localhost'
PORT = 21567
BUFSIZ = 1024
ADDR = (HOST, PORT)
while True:
tcpCliSock = socket(AF_INET, SOCK_STREAM)
tcpCliSock.connect(ADDR)
data = raw_input('> ')
if not data:
break
tcpCliSock.send('%s\r\n' % data)
data = tcpCliSock.recv(BUFSIZ)
if not data:
break
print data.strip()
#tcpCliSock.close()
从客户端的代码可以看出,每次输入都会建立一次新的请求。
测试一下,启动server和client之后,在client中输入测试:
python写tcp服务器_用Python实现一个简单的多线程TCP服务器的教程相关推荐
- python写机器人程序_用Python写的一个多线程机器人聊天程序
本人是从事php开发的, 近来想通过php实现即时通讯(兼容windows).后来发现实现起来特别麻烦, 就想到python.听说这家伙在什么地方都能发挥作用.所以想用python来做通讯模块...所 ...
- python写魔兽世界脚本_用python bat写软件安装脚本 + HM NIS Edit自动生成软件安装脚本...
2019-03-11更新:原来NSIS脚本也可以禁用64位文件操作重定向的! 1.在安装脚本的开始处定义 LIBRARY_X64. !include "MUI.nsh" !incl ...
- 抖音是用python写的吗_用 Python 实现抖音尬舞机
原标题:用 Python 实现抖音尬舞机 如今说到体感游戏,大家一定都不陌生,比如微软的 Kinect.任天堂的 Switch,都曾是游戏业的革命性产品.而另一款网红产品-抖音,也在去年底上线过一个& ...
- python写mysql脚本_使用python写一个监控mysql的脚本,在zabbix web上加上模板
使用python写一个监控mysql的脚本,在zabbix web上加上模板: ##先使用MySQLdb的接口关联数据库. [root@cml python]# cat check_Mysql_cus ...
- 用python写聊天机器人_用Python 写一个机器人陪你聊天(文尾有彩蛋)
工作一忙,原来秉烛夜谈的好友现在都很少聊天,微信都成了微信群的天下,鲜有微信好友给你发消息,想要主动发却也找不到开题话题,怎么办?用Python写一个机器人陪自己聊聊天吧.以下是源码及解析,小白都看得 ...
- 用python写投票程序_大话python最终篇,web.py 开发的投票程序demo
概述 开发语言 python Web开发框架 web.py 前端开发框架 vuejs+elementui 数据库 mysql 设计思路 首先是数据库设计 ...
- 用python写shell脚本_应用python编写shell脚本
今天同事叫我编写一个shell脚本.话说,虽然我受*nix的影响甚深,但是对于*nix里随处可见的sh脚本却是讨厌之极.为什么讨厌呢?首先是因为sh脚本那莫名其妙的语法,感觉就像随写随扔的程序,完全没 ...
- python写硬件驱动_用Python驱动开源硬件|课程开发者的对话
随着中小学创客教育的推进,开源硬件逐步被教育工作者所了解并进入了中小学课堂.从一开始的小规模应用到区域级别的大规模推广,开源硬件因为其价格低廉.性能强大和资源丰富,加上扩展性好,越来越得到教师们的认可 ...
- python写采集程序_用python写的一个wordpress的采集程序
在学习python的过程中,经过不断的尝试及努力,终于完成了第一个像样的python程序,虽然还有很多需要优化的地方,但是目前基本上实现了我所要求的功能,先贴一下程序代码: 具体代码如下: #! /u ...
最新文章
- 辰星计划 2021 | 璀璨起航,旷视春季实习生招募开启
- 非极大值抑制(Non-maximum suppression)在物体检测领域的应用
- iOS开发--一些UITabBarItem属性的设置[转]
- Request 接收参数乱码原理解析
- MinGw+Msys搭建环境 编译ffmpeg
- 硅谷观察者眼中的亚洲
- WPF中自动增加行(动画)的TextBox
- [Ajax] 超于json2.js的版本json3.js
- haproxy + keepalived + mycat 高可用与负载均衡集群配置 centos7
- c语言http协议头字符串,c语言http请求解析表单内容
- Yii2.0 rules验证规则大全
- 其他电脑连接本地mysql数据库_在局域网内,如何让其他电脑连接我们自己的本地mysql数据库...
- Mysql 省市县乡 地址分割
- TM1620 led显示芯片用stm8来驱动
- win 10计算机查找大文件,教你如何在Win10系统中查找大文件?
- 【PCI】PCI驱动匹配(四)
- 快速调整毕业论文格式:调整参考文献的引用样式和段落格式
- 电影票房预测-kaggle项目Python项目
- 知识图谱构建中的抽取方法
- 有苦有乐的算法 --- 一个数组中,有两种数出现了奇数次,其余数都出现了偶数次,找到这两种数
热门文章
- day23 java的异常
- VueSummary_note
- idea错误提示不明显_微信公众号扫一扫功能提示:10003 redirect_uri域名与后台配置不一致错误解决方案...
- 计算机专业理论知识试题,计算机专业理论试题第II卷(非选择题)
- java 7 泛型_Java(7)泛型
- java中封装的好处_编程中封装的作用/优点
- 计算机中i o接口,计算机组成原理 输入输出(I/O)I/O 接口(I/O 控制器)
- linux查看火狐进程,Firefox 终于用上多进程技术了
- 无法使用集合初始化_Java集合类解析之Hashtable
- 用python可以解决什么问题_学 Python 能帮你解决什么问题 ?