我在 cloudways 有一个托管服务器。我正在尝试使用 socket.io。
客户端.php:
var socket = io('http://localhost:3000');
console.log(socket);
server.js:
var app = require('express')();
var server = require('http').Server(app);
var io = require('socket.io')(server);
server.listen(3000);
io.on('connection', function(socket){
console.log('is connected');
});
访问该页面时,我在控制台的网络部分看到两个 200 OK 的实例。浏览器中的控制台还会打印套接字变量,它具有“已连接:true”。
但是,我在终端(来自 server.js)中看不到“已连接”,它只是空白。
该站点已在本地运行,但是在尝试使其在 Cloudways 上运行时出现了这些问题。
有任何想法吗?
我尝试将“localhost”切换为域名和 IP 地址,并且尝试了不同的端口,但 3000 是唯一可以让我启动 server.js 而不会出错的端口。
编辑
Cloudways 已确认应使用端口 3000。
我尝试将 io() 中的 url 更改为:
var socket = io('http://my-cloudways-url:3000'); (net::ERR_EMPTY_RESPONSE)
var socket = io('http://www.my-domain.club:3000'); (net::ERR_EMPTY_RESPONSE)
var socket = io('http://ip-adr:3000'); (net::ERR_EMPTY_RESPONSE)
今天我得到
var socket = io('http://localhost:3000'); (net::ERR_CONNECTION_REFUSED)
我也尝试过 io.connect(使用相同的地址/端口)。