利用SocketServer模块来实现网络客户端与服务器并发连接非阻塞通信。

首先,先了解下SocketServer模块中可供使用的类:
BaseServer:包含服务器的核心功能与混合(mix-in)类挂钩;这个类只用于派生,所以不会生成这个类的实例;可以考虑使用TCPServer和UDPServer。
TCPServer/UDPServer:基本的网络同步TCP/UDP服务器。
UnixStreamServer/ UnixDatagramServer:基本的基于文件同步TCP/UDP服务器。
ForkingMixIn/ ThreadingMixIn:实现了核心的进程化或线程化的功能;作为混合类,与服务器类一并使用以提供一些异步特性;这个类不会直接实例化。
ForkingTCPServer/ ForkingUDPServer:ForkingMixIn和TCPServer/UDPServer的组合。
BaseRequestHandler:包含处理服务请求的核心功能。这个类只用于派生,所以不会生成这个类的实例可以考虑使用StreamRequestHandler或DatagramRequestHandler。
StreamRequestHandler/ DatagramRequestHandler:用于TCP/UDP服务器的服务处理工具。
下面我们正式进入主题,这里我们采用StreamRequestHandler和ThreadingTCPServer来实现客户端与服务器并发连接非阻塞socket。
ThreadingTCPServer派生自ThreadingMixIn,主要实现核心的进程化合线程化功能。
StreamRequestHandler主要用于用于TCP/UDP服务器的服务处理工具。
一、创建SocketServerTCP服务端
[python] view plain copy
#创建SocketServerTCP服务器:
import SocketServer
from SocketServer import StreamRequestHandler as SRH
from time import ctime
host = 'xxx.xxx.xxx.xxx'
port = 9999
addr = (host,port)
class Servers(SRH):
def handle(self):
print 'got connection from ',self.client_address
self.wfile.write('connection %s:%s at %s succeed!' % (host,port,ctime()))
while True:
data = self.request.recv(1024)
if not data:
break
print data
print "RECV from ", self.client_address[0]
self.request.send(data)
print 'server is running....'
server = SocketServer.ThreadingTCPServer(addr,Servers)
server.serve_forever()
二、创建SocketServerTCP客户端
[python] view plain copy
from socket import *
host = 'xxx.xxx.xxx.xxx'
port = 9999
bufsize = 1024
addr = (host,port)
client = socket(AF_INET,SOCK_STREAM)
client.connect(addr)
while True:
data = raw_input()
if not data or data=='exit':
break
client.send('%s\r\n' % data)
data = client.recv(bufsize)
if not data:
break
print data.strip()
client.close()
# Python
# SocketServer
# Python使用socketServer包搭建简易服务器过程详解
# python网络编程:socketserver的基本使用方法实例分析
# Python探索之SocketServer详解
# 基于python socketserver框架全面解析
# Python使用SocketServer模块编写基本服务器程序的教程
# 实例讲解Python中SocketServer模块处理网络请求的用法
# python网络编程之TCP通信实例和socketserver框架使用例子
# Python网络编程之socket与socketserver
# 客户端
# 来实现
# 可供
# 主要用于
# 并使
# 服务端
# 解下
# 实现了
# SocketServerTCP
# ThreadingTCPServer
# strong
# socket
# pre
# plain
# view
# import
# copy
# brush
# class
相关文章:
阿里云网站搭建费用解析:服务器价格与建站成本优化指南
建站主机系统SEO优化与智能配置核心关键词操作指南
道歉网站制作流程,世纪佳缘致歉小吴事件,相亲网站身份信息伪造该如何稽查?
桂林网站制作公司有哪些,桂林马拉松怎么报名?
北京制作网站的公司排名,北京三快科技有限公司是做什么?北京三快科技?
网站制作公司,橙子建站是合法的吗?
简历在线制作网站免费版,如何创建个人简历?
如何用IIS7快速搭建并优化网站站点?
如何在万网开始建站?分步指南解析
香港服务器网站卡顿?如何解决网络延迟与负载问题?
简单实现Android文件上传
音乐网站服务器如何优化API响应速度?
如何通过二级域名建站提升品牌影响力?
活动邀请函制作网站有哪些,活动邀请函文案?
大连网站设计制作招聘信息,大连投诉网站有哪些?
如何在Golang中使用encoding/gob序列化对象_存储和传输数据
武汉网站设计制作公司,武汉有哪些比较大的同城网站或论坛,就是里面都是武汉人的?
如何快速重置建站主机并恢复默认配置?
安云自助建站系统如何快速提升SEO排名?
C++如何编写函数模板?(泛型编程入门)
如何通过IIS搭建网站并配置访问权限?
大学网站设计制作软件有哪些,如何将网站制作成自己app?
为什么Go需要go mod文件_Go go mod文件作用说明
浙江网站制作公司有哪些,浙江栢塑信息技术有限公司定制网站做的怎么样?
网站制作壁纸教程视频,电脑壁纸网站?
一键制作网站软件下载安装,一键自动采集网页文档制作步骤?
太平洋网站制作公司,网络用语太平洋是什么意思?
如何通过建站之星自助学习解决操作问题?
西安专业网站制作公司有哪些,陕西省建行官方网站?
如何选择最佳自助建站系统?快速指南解析优劣
国美网站制作流程,国美电器蒸汽鍋怎么用官方网站?
合肥制作网站的公司有哪些,合肥聚美网络科技有限公司介绍?
惠州网站建设制作推广,惠州市华视达文化传媒有限公司怎么样?
娃派WAP自助建站:免费模板+移动优化,快速打造专业网站
网站专业制作公司,网站编辑是做什么的?好做吗?工作前景如何?
如何选择可靠的免备案建站服务器?
官网网站制作腾讯审核要多久,联想路由器newifi官网
手机钓鱼网站怎么制作视频,怎样拦截钓鱼网站。怎么办?
制作充值网站的软件,做人力招聘为什么要自己交端口钱?
网站制作和推广的区别,想自己建立一个网站做推广,有什么快捷方法马上做好一个网站?
长沙企业网站制作哪家好,长沙水业集团官方网站?
如何在阿里云完成域名注册与建站?
TestNG的testng.xml配置文件怎么写
如何确认建站备案号应放置的具体位置?
建站之星官网登录失败?如何快速解决?
三星网站视频制作教程下载,三星w23网页如何全屏?
开封网站制作公司,网络用语开封是什么意思?
山东网站制作公司有哪些,山东大源集团官网?
Android使用GridView实现日历的简单功能
javascript中对象的定义、使用以及对象和原型链操作小结
*请认真填写需求信息,我们会在24小时内与您取得联系。