【发布时间】:2011-02-14 01:26:22
【问题描述】:
我正在开发一个服务器应用程序,它通过 TCP 套接字以类似 XMPP 的 XML 格式接收数据,即<root> 元素的每个子元素本质上代表一个单独的请求(节)。一旦收到</root>,连接就会关闭。
我知道我必须以某种方式使用像 SAX 这样的流解析器。不过,为了方便起见,我更喜欢有一个树状界面来访问每个节的子元素。 (每个请求发送的数据并不大,所以我认为将每个节作为一个整体阅读是有意义的。)
在 Python(最好是 v3)中实现这一点的最佳方法是什么?
这是我想要构建它的代码。请随时为我指出一个完全不同的方向来解决这个问题。
import socketserver
import settings
class MyServer(socketserver.ThreadingMixIn, socketserver.TCPServer):
pass
class MyRequestHandler(socketserver.StreamRequestHandler):
def handle(self):
pass
if __name__ == '__main__':
server = MyServer((settings.host, settings.port), MyRequestHandler)
server.serve_forever()
【问题讨论】:
标签: python xml stream xmpp network-protocols