您的位置:首页 > 其它

SocketServer.py笔记

2017-09-13 23:19 267 查看
在模块中定义__all__的作用:

只在from module import *时起作用。对from module import member没有影响。

def _eintr_retry(func, *args):
"""restart a system call interrupted by EINTR"""
while True:
try:
return func(*args)
except (OSError, select.error) as e:
if e.args[0] != errno.EINTR:
raise


BaseServer对外提供一些方法:

__init__

serve_forever

shutdown

handle_request() # if you do not use serve_forever()

fileno() # for select()

TCPServer UnixStreamServer

UDPServer UnixDatagramServer

ForkingMixIn ThreadingMixIn

ForkingTCPServer ForkingUDPServer

ThreadingTCPServer ThreadingUDPServer

BaseRequestHandler handle()

StreamRequestHandler

DatagramRequestHandler

其中StreamRequestHandler提供了rfile, wfile。可以通过读写文件的方式访问socket。

StringIO. This module implements a file-like class, that reads and writes string buffer(also known as memory files).

StringIO.write(‘xxx’)

StringIO.getvalue()
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: