【问题标题】:How to make socket.io connection in intranet如何在 Intranet 中建立 socket.io 连接
【发布时间】:2014-06-03 21:46:36
【问题描述】:

我正在尝试构建一个 node.js 聊天网络应用程序。 Here is the code that I'm using。运行此应用程序,仅适用于本地主机。

请问如何让它在 Intranet 上运行?

编辑:在 Intranet 上进行测试。我在网络浏览器上输入http://IPaddressHostChat:8080。 网络浏览器获取网页,但计算机之间不显示交换的消息。

请问如何解决?

非常感谢!

【问题讨论】:

  • 为您寻求帮助的人尽一份力:将您的代码放在 github 上而不是 zip 中。一般来说,socket.io 无需在内部和互联网上进行任何进一步配置即可正常工作
  • 只使用io.connect(),在你的html中没有主机和端口。这将解决它

标签: node.js


【解决方案1】:

问题很可能是您在客户端代码中引用了特定的主机和端口。仅使用io.connect() 在html 文件中删除主机和端口。有关完全相同的问题,请参阅以下内容:404 on Socket.io connect

【讨论】:

  • 那行不通。我无法再从另一台计算机发送 POST 请求!
  • 然后查找代码中的其他错误。这就是socket.io 官方示例的设置方式。参见例如github.com/Automattic/socket.io/blob/master/examples/chat/… 当然,如果您想为您的客户端提供主机和端口,请不要将其输入到您的 html 中,而是由您的服务器端应用程序提供它
  • @Luciekulza 参见例如stackoverflow.com/questions/21886773/… 为什么我的建议应该起作用,如果不起作用,则表明您的代码存在其他问题
【解决方案2】:

首先,您需要知道您的主机 IP 地址。您可以通过打开 cmd 并输入 ipconfig

来做到这一点

那么,你应该可以看到自己的IP地址了,一般是192.168.1.**

使用该 IP 地址进行套接字连接。

确保您的客户端与您的客户端位于同一 Intranet。您可以通过键入

来检查客户端连接与服务器连接
ping <host ip address>

或者如果它没有给你一个 ping 或请求超时,你可以通过在 cmd 中输入来检查

tracert <host ip address>

使用此命令,您将能够跟踪阻止客户端连接到服务器的部分! 通常这可能是由于某些防火墙设置造成的!

使用 Intranet 部署我的 websocket 没有问题!

【讨论】:

  • 它工作正常。但是,当两个对等点在该网络应用程序上连接时,您无法交换消息。
猜你喜欢
  • 2021-05-23
  • 2021-08-24
  • 2017-12-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-03-18
  • 1970-01-01
  • 2014-06-17
相关资源
最近更新 更多