如何在Bot Framework Composer构建的NodeJS机器人中启用WebSocket流
在Composer构建的Node.js机器人中启用Web Sockets的修改位置
所有修改都在项目根目录下的入口文件index.js中完成:
- 首先定位适配器实例化代码段,默认生成的项目使用
CloudAdapter,在实例化代码后添加两行配置开启WebSocket支持:
如果你用的是旧版Composer生成的项目,采用// 原有实例化代码 const adapter = new CloudAdapter(credentialFactory); // 新增配置 adapter.useNamedPipe = false; adapter.useWebSocket = true;BotFrameworkAdapter而非CloudAdapter,上述配置逻辑完全通用。 - 然后定位HTTP服务启动代码段,在
server.listen方法调用之前,添加WebSocket升级监听逻辑:server.on('upgrade', async (req, socket, head) => { await adapter.process(req, socket, head, async (context) => { await bot.run(context); }); }); - 修改完成后重启机器人服务即可,telephony通道的流媒体请求会通过WebSocket和机器人正常交互,不会再出现连接报错和静音问题。
内容的提问来源于stack exchange,提问作者Nathan Cartwright
相关产品推荐
相关产品推荐

