- 基本思路:
- 导入
SocketServer
模块。
- 定义一个请求处理类,该类继承自
SocketServer.BaseRequestHandler
。在这个类中,重写handle
方法来处理每个客户端连接的请求。handle
方法中,self.request
代表与客户端连接的套接字。
- 使用
SocketServer.TCPServer
来创建TCP服务器,将服务器地址和请求处理类作为参数传入。
- 启动服务器,让其持续监听客户端连接请求,直到手动停止。
- 关键代码片段:
import SocketServer
class MyTCPHandler(SocketServer.BaseRequestHandler):
def handle(self):
self.data = self.request.recv(1024).strip()
print(f"{self.client_address[0]} wrote:")
print(self.data)
self.request.sendall(self.data.upper())
if __name__ == "__main__":
HOST, PORT = "localhost", 9999
server = SocketServer.TCPServer((HOST, PORT), MyTCPHandler)
server.serve_forever()