创建一个socketserver 至少分以下几步:
- First, you must create a request handler class by subclassing the BaseRequestHandlerclass and overriding its handle() method; this method will process incoming requests.
- Second, you must instantiate one of the server classes, passing it the server’s address and the request handler class.
- Then call the handle_request() orserve_forever() method of the server object to process one or many requests.
- Finally, call server_close() to close the socket.
1、自己创建一个请求处理类,
2、自己实例化一个TCP server ,并且传递server ip 和你上面创建的请求处理类
3、
import socketserver
class MyTCPHandler(socketserver.BaseRequestHandler):
"""
The request handler class for our server.
It is instantiated once per connection to the server, and must
override the handle() method to implement communication to the
client.
"""
def handle(self):
# self.request is the TCP socket connected to the client
while True:
try:
self.data = self.request.recv(1024).strip()
print("{} wrote:".format(self.client_address[0]))
print(self.data)
self.request.send(self.data.upper())
except ConnectionAbortedError as e:
print("err",e)
break
if __name__ == "__main__":
HOST, PORT = "localhost", 1111
# Create the server, binding to localhost on port 9999
server = socketserver.ThreadingTCPServer((HOST, PORT), MyTCPHandler)
server.serve_forever()
ThreadingTCPServer支持多线程
4、每个用户单独字典
5、在linux上运行
7、mod5验证
8、百分比
9、断点续传:暂停时将已传文件大小(字节)存在临时文件中,续传时读取临时文件