带RPC的python流式TCP服务器
我已经用python编写了一个小型流媒体mp3服务器。到目前为止,它所做的只是接受ServerSocket连接,并开始使用socket.send()将其队列中的所有mp3数据流式传输到请求。我已经实现了这一点来在流中分块icy元数据,因此播放歌曲的名称将显示在客户端中 我想将播放列表管理添加到服务器,以便我可以操作正在运行的服务器的播放列表。我模糊地认为xmlrpclib适合这样做,但我对两件事感到困惑:带RPC的python流式TCP服务器,python,sockets,xml-rpc,Python,Sockets,Xml Rpc,我已经用python编写了一个小型流媒体mp3服务器。到目前为止,它所做的只是接受ServerSocket连接,并开始使用socket.send()将其队列中的所有mp3数据流式传输到请求。我已经实现了这一点来在流中分块icy元数据,因此播放歌曲的名称将显示在客户端中 我想将播放列表管理添加到服务器,以便我可以操作正在运行的服务器的播放列表。我模糊地认为xmlrpclib适合这样做,但我对两件事感到困惑: 是否可能/建议在单个服务器和单个端口上集成ICY和XMLRPC 如何在流线程和播放列表之间
如果您使用两个单独的端口,每个端口都有自己的服务器在单独的线程中运行,那么初始尝试可能会更容易。但是,从长远来看,管理线程之间的同步可能是一项烦人的任务 ICY和HTTP非常相似,如果您已经在SocketServer上实现了ICY,那么您可能可以扩展到在同一端口上响应ICY和HTTP请求。请看一看该方法的标准库代码,并考虑如何在一个子类中为分离的个性重写它
另外,当您希望使用这些类处理多个并发请求时,请查看。BaseHTTPRequestHandler是否会接收xmlrpc?我知道HTTP可以用于所有这些,但我的问题是在同一台服务器上使用两种不同的协议。是的,我需要同步。是的,我正在使用线程混合是的,我理解您在同一台服务器上实现两个协议的目标。正如我所说,这需要一些工作。请注意,SimpleXMLRPCServer与BaseHTTPServer基于相同的类层次结构。我的建议是阅读这两个方面的代码,理解共享部分和差异,并提出将所需功能绑定在一起的自己的子类。我已经实现了一个BaseHTTPServer来处理ICY和XML RPC。谢谢你的指点。关于如何实现这个野兽的共享状态,有什么建议吗?我想如果你把它作为一个新问题来问,你可能会得到更多的回答。祝贺你的进步!