场景:打开机器人,尝试几个命令。关闭笔记本电脑。重新打开。机器人说无法连接。
我想这是因为web socket关闭了。有没有办法让它一直开着?
发布于 2020-03-05 02:25:42
这个问题本身与web套接字无关,但与Direct Line和web页面的一般性质有关。
当你打开一个网页时,它很大程度上是静态的,假设它是一个每天都很普通的页面。如果您关闭您的笔记本电脑并重新打开它,页面的任何内容都不会真正改变,因为没有“实时”连接被维护。
但是,当您使用网络聊天加载托管机器人的页面时,会通过Direct Line打开实时连接。如果您关闭笔记本电脑并重新打开它,则该连接将被切断。没有方向,网络聊天不知道如何(重新)建立连接而不重新加载页面。
看看我在here上发布的答案。它展示了如何设置Web聊天,以便在用户刷新页面和/或导航离开并返回时保持与机器人的对话。它的部分实现确实依赖于sessionStorage(),这意味着它将仅在当前会话中持续。如果用户完全关闭并打开该窗口,则会创建一个新连接。
即使在用户关闭窗口的情况下也要维护“会话”,这需要一个更健壮的解决方案。
希望能帮上忙!
https://stackoverflow.com/questions/60522013
复制相似问题