对于我的应用,我将来自raspberry-pi客户端的音频数据通过socket.io传输到我的node.js音频服务。问题是,为了处理音频,我将音频流从我的服务中的客户端传送到外部服务。然后,此外部服务将结果流音频返回给我的服务,我的服务将其发送给客户端。
所以我的申请流程就像
客户端--- socket.io-stream ---> audio_service --- stream ---> external_service
external_service - stream ---> audio_service --- socket.io-stream --->客户端
我的问题是:
当客户端连接到我的audio_service时,我的audio_service是否可能启动与external_service的连接并通过socket.io将该连接发送回客户端?通过这种方式,客户端将使用返回的连接直接将音频流式传输到external_service,而不是通过audio_service。
如果有可能,即使客户端直接将音频流传输到external_service,它仍然可以将流结果发送回audio_service吗?
非常感谢您的帮助
答案 0 :(得分:0)
通过Socket.IO以今天设置的方式发送流是不可能的。有些人已经制作了一些以常规的RPC方式模拟流的附加组件,但它并不是非常有效。
我知道的最好的图书馆是Binary.JS。这将为您提供通过单个二进制WebSocket连接进行多路复用的流。不幸的是,Binary.js还没有维持一段时间,但它仍然有效。