socketserver
之前讲道德socket模块是单进程的,只能接受一个客户端的连接和请求,只有当该客户端断开的之后才能再接受来自其他客户端的连接和请求。当然我们也可以通过python的多线程等模块自己写一个可以同时接收多个客户端连接和请求的socket。但是这完全没有必要,因为python标准库已经为我们内置了一个多线程的socket模块socketserver,我们直接调用就可以了,完全没有必要重复造轮子。
我们只需简单改造一下之前的socket演示程序的服务端就可以了,客户端不用变
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 |
|
看,是不是很简洁,其实socketserver就是用了多线程和类的技术对原生socket模块做了封装,我们使用起来就是这么简单