gpt4 book ai didi

node.js - 无法在浏览器中使用 Nodejs 从网站连接到 websocket

转载 作者:太空宇宙 更新时间:2023-11-03 22:23:05 27 4
gpt4 key购买 nike

有人幸运地在 Fastcomet 上使用 Nodejs 和 websockets 创建了一个具有实时通信(聊天)的网站吗?我已经向 Fastcomet 提交了很多票,但我们还是在原地踏步。

我的目标是输入类似 https://davidwalsh.name/websocket 的内容在线访问 www.mywebsite.com/socketio

当我打开 http://127.0.0.1:3000/ 时,我的所有测试都在本地运行在我的浏览器中。

我首先设置了 Node.js app from cpanel

然后fill in the details

此过程为 Phusion Passenger 创建一个 .htaccess 文件。

甚至尝试过 RewriteRule ^(.) http://localhost:3000/ $1 [P]*

当我访问 www.mywebsite.com/socketio 时,出现以下错误:

http://www.mywebsite:3000/socket.io/?EIO=3&transport=polling&t=1531226905601-0无法加载资源:net::ERR_NAME_NOT_RESOLVED

这是另一个失败的测试:

服务器index.js(Nodejs状态:已启动)

var http = require('http');
var server = http.createServer(function(req, res) {
res.writeHead(200, {'Content-Type': 'text/plain'});
var message = 'It works!\n',
version = 'NodeJS ' + process.versions.node + '\n',
response = [message, version].join('\n');
res.end(response);
});
server.listen();
const WebSocket = require('ws');
const wss = new WebSocket.Server({ port: 8080 });
wss.on('connection', function connection(ws) {
ws.on('message', function incoming(message) {
console.log('received: %s', message);
});
ws.send('something')
});

客户端索引.html

<html>
<head>
<script>
var sock =new WebSocket('ws://' + window.location.host+"/chat" );
</script>
</head>
<body>
</body>
</html>

甚至尝试过

var sock =new WebSocket('ws://' + window.location.host+":8080/chat" );

我还将index.js和index.html的端口8080更改为3000

我什至从index.js和index.html中删除了端口

通过浏览器访问:

<强> http://www.mywebsite.com/chat/index.html

错误:

与“ws://www.mywebsite.com/chat”的 WebSocket 连接失败:WebSocket 握手期间出错:意外响应代码:500

有人有想法吗?

最佳答案

您是否尝试过在 public_html 文件夹之外创建项目?

尝试创建一个文件夹(例如:home/user/socket_test)并将代码放入该文件夹中并将您的node.js应用程序指向该路径。

端口在“Phusion Passenger”中自动映射,这意味着您在程序中指定的任何端口都将由 phusion Passenger 自动反向映射。

对 Node 应用程序使用端口 3000,example.com/app 会将端口 8080 映射到端口 3000。

我正在使用 Fastcommet 共享托管计划并运行 Node Express RESTful API,并且运行良好。

关于node.js - 无法在浏览器中使用 Nodejs 从网站连接到 websocket,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51268153/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com