Javascript “我应该替换什么?”;http://localhost:3000" 在使用服务器而不是本地计算机时使用?

Javascript “我应该替换什么?”;http://localhost:3000" 在使用服务器而不是本地计算机时使用?,javascript,node.js,express,websocket,socket.io,Javascript,Node.js,Express,Websocket,Socket.io,我用node和express做了很多在线课程。我想让sockets.io工作,但我现在甚至无法建立连接。我正在使用cPanel虚拟专用服务器并在服务器终端中运行代码,然后尝试使用服务器上托管的网站访问服务器上运行的.js文件 我尝试过各种不同的方法,但我正在将其降低到最基本的水平,以尝试建立联系。我看到的所有视频都在本地机器上运行,并在本地机器上使用命令提示符运行.js文件和浏览器访问http://localhost:3000 我在cPanel服务器上运行的.js文件如下所示 var expre

我用node和express做了很多在线课程。我想让sockets.io工作,但我现在甚至无法建立连接。我正在使用cPanel虚拟专用服务器并在服务器终端中运行代码,然后尝试使用服务器上托管的网站访问服务器上运行的.js文件

我尝试过各种不同的方法,但我正在将其降低到最基本的水平,以尝试建立联系。我看到的所有视频都在本地机器上运行,并在本地机器上使用命令提示符运行
.js
文件和浏览器访问
http://localhost:3000

我在cPanel服务器上运行的
.js
文件如下所示

var express = require('express');
var app = express();

app.get('/', function(req,res){
    res.send('Hello world 2');
})

app.listen(3000);
var socket = io.connect('http://localhost:3000');
那么我如何通过浏览器访问它呢?我试过
http://mywebsite.com:3000
http://11.22.33.444:3000
如果11.22.33.444是服务器ip,但浏览器只是超时,服务器控制台中没有输出

最终我需要运行一个socket.io命令,如下所示

var express = require('express');
var app = express();

app.get('/', function(req,res){
    res.send('Hello world 2');
})

app.listen(3000);
var socket = io.connect('http://localhost:3000');
在我看过的所有教程中,他们都使用这个localhost:3000,但是没有人解释如果它在实际的服务器上如何访问它,所以我很迷茫

还有其他的例子像,

...
const http = require('http').createServer();
...
http.listen(3000 => () => {
  console.log('listening on port 3000');
});

这只是代码的一个片段,但我想知道如何在不使用
http://localhost:3000

如果您阅读了这些文档,您将看到一个如何将其与express连接的指南:


我想我刚刚解决了。我尝试了一个不同的端口,它成功了:/

无需在io.connect()中指定任何地址

const-app=express();
const http=require('http')。服务器(应用程序);
const io=require('socket.io')(http);
http.listen(process.env.PORT | | 3000,函数(){
});


var socket=io.connect()服务器上的端口可能未公开?服务器在哪里运行?您可以从命令行
ping
服务器吗?如何公开端口?服务器是在一家私人公司运行的VPS,我是从那里租来的。我不认为OP是这么问的。但是前端呢?它显示在socket.io文档上;变量套接字=io.connect('http://localhost'); 那么我应该用什么来代替h呢ttp://localhost'如果我从浏览器运行它,您可以使用localhost,如果它在同一台服务器上,我尝试过,但它不起作用。也许是因为浏览器在我的电脑上,而服务器在别的地方,我不知道。实际上它曾经工作过,但现在不行了。我很困惑。我猜这是某种安全问题。