与socket.io的奇怪的数据绑定行为

时间:2016-04-13 01:06:36

标签: angularjs node.js sockets angular

我正在使用前端的角度2创建一个socket.io应用程序,我得到了一个非常奇怪的行为,这是我在使用socket.io时从未见过的。我不知道我的代码是否导致了问题,或者它是否在angular2和socket.io之间的交互中,但如果它是我的代码,我不能说我可能需要发布什么代码。

神秘的行为:首先,我测试我的套接字连接是否正常工作的过程是打开隐身标签,转到我的项目网站,以其他用户身份登录,看看API请求是否正确发出跨用户。然而;现在,对任一用户进行的任何操作都发生在另一个用户身上。 EX:如果我输入一个客户端的表单,其他客户端表单将使用相同的信息进行更新。如果我单击表单提交按钮以在表单中发布数据,则还将单击其他客户端提交按钮。偶尔,它会在状态之间导航时发生,其他客户端也会导航到状态。登录到完全不同的计算机时也会出现这种情况,因此想象一下socket.io如何发送数据是一个问题。

所有客户端都正在正确连接和断开连接,并且正在为其分配唯一的套接字ID。

1 个答案:

答案 0 :(得分:0)

事实证明,解决方案比我预期的要简单一些。我通过与我的socket.io连接同时运行的npm live-server发生冲突而发生奇怪的行为。我仍然无法解释为什么冲突表现为这种奇怪的行为,但至少我通过运行应用程序作为提供index.html的快速应用来阻止它。

如果有人能解释为什么会发生这种情况,我很乐意听到。