【问题标题】:What does io.connect('http://localhost:4000) mean?io.connect('http://localhost:4000) 是什么意思?
【发布时间】:2021-01-19 14:18:40
【问题描述】:

我正在使用 react.js 和 socket.io 构建一个应用程序,我将 socket.io 服务器的后端代码放在一个文件夹中,将客户端/前端 react.js 代码放在一个单独的文件夹中。我将它设置为服务器在本地主机上侦听的位置:4000 并且客户端在 3000 上侦听,我已经使用这行代码在我的 app.js 中连接了前端和后端..

const socket = io.connect('http://localhost:4000');

我很好奇这意味着什么。这是否意味着当我部署我的网站时,它将从我的计算机托管我的服务器?这是否意味着它将托管来自客户端计算机的套接字? localhost:4000 是否用于测试目的并且需要在以后部署网站时进行更改?如果这些都不正确,任何解释将不胜感激。如果我的代码正常并且在部署我的网站时不需要更改,请告诉我。

感谢任何可以提供帮助的人!!!

【问题讨论】:

    标签: javascript reactjs websocket socket.io react-router-dom


    【解决方案1】:

    这是否意味着当我部署我的网站时,它将从我的计算机托管我的服务器?

    这意味着它将尝试连接到运行浏览器的同一台计算机上运行的 Socket.io 服务器。

    这通常会失败。 (您的开发环境是一个例外,因为您在同一台计算机上同时运行浏览器和服务器)。

    localhost:4000 是否用于测试目的,并且需要在稍后部署网站时进行更改?

    是的。

    【讨论】:

      【解决方案2】:

      是的,您需要在将其部署到您的站点时对其进行更改。 'http://localhost:4000' 是一个绝对引用,意味着它将自动解析到 localhost 环境。还建议切换到 https 以获得更安全的连接。

      【讨论】:

      • 那么我会将它改成什么(显然每个人都会有所不同)。如果我要使用 AWS ec2 来部署我的网站,我会将本地主机更改为它自动生成的网址吗?我是否会将它用于前端和后端,但要更改每个端口?
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-03-12
      • 1970-01-01
      • 2019-03-01
      • 2018-03-14
      • 1970-01-01
      相关资源
      最近更新 更多