管理与Django渠道的客户端连接

时间:2019-06-28 12:32:08

标签: django websocket architecture django-channels

免责声明:这是一个系统设计问题。我用谷歌搜索了发布系统设计问题的地方,并发现了一个元堆栈交换线程,表明堆栈溢出是该地方。如果不是这样,请随时重定向我。

我正在尝试使用django + websockets完成文本实时语音交流。我正在使用nexmo拨打电话,并将音频流回服务器。然后,我将音频,屈臣氏语音流式传输到文本中以获取成绩单。然后,我通过Websocket将成绩单流回React前端。我设法用龙卷风做到了这一点,但想使用Django频道。

我为如何在消费者中建立/保持与Watson的客户端网络套接字连接而苦恼。这是我的问题的简化版本:

在django使用者的接收方法中:

  • 我正在接收一条特定消息,以打开与Watson的客户端网络套接字连接
  • 我正在从nexmo->服务器-> watson
  • 流式传输音频
    def receive(self, text_data):
        text_data_json = json.loads(text_data)
        message = text_data_json['message']
        if message == “open”:
            self.watson = openWatsonWebsocket()
    if message == “audio”:
        sendAudioToWatson(self.watson)

我一直很难打开/保持对Watson Websocket的呼叫。基本上没有有关如何从使用者进行websocket调用的文档。

将来自使用者的Websocket呼叫设为反模式吗?如果没有,我是否有更好的方法来实现这一目标?我想举个例子。

0 个答案:

没有答案