【问题标题】:socket.io hardcoded vs dynamic connection urlsocket.io 硬编码 vs 动态连接 url
【发布时间】:2014-03-20 03:42:30
【问题描述】:

为什么这里的大多数教程、示例和问题都使用本地 IP 或 localhost(或任何其他硬编码路径),如下所示:

var socket = io.connect('http://127.0.0.1:3700');

而不是简单地:

var socket = io.connect(document.location.protocol+'//'+document.location.host);

甚至:

var socket = io.connect();

让它像这样动态化有什么风险吗?有没有更好的方法可以让我的脚本在本地和生产环境中运行,而不必每次都更改此值?

【问题讨论】:

    标签: javascript node.js socket.io


    【解决方案1】:

    如果您使用的是动态连接 url 而不是硬编码的,我认为没有任何风险。

    在我看来,像您的第一个示例中的硬编码网址更容易让初学者理解。第二个例子可能令人困惑。 (实际上我还必须检查 document.location.host 是否包含端口号)。这就是为什么大多数示例和教程都使用硬编码变体的原因。

    如果第三个示例在您的开发和生产环境中都有效,您应该使用它。但是如果套接字与应用程序的其余部分运行在不同的端口和/或主机上,它就不起作用,并且有必要在脚本中的某个地方对其进行硬编码。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-03-03
      • 1970-01-01
      • 2018-07-26
      • 2011-04-08
      • 2016-12-26
      • 2017-09-04
      • 2014-04-02
      • 1970-01-01
      相关资源
      最近更新 更多