javascript - 无法让 nodejs socket.io 在我的 ubuntu 虚拟机上工作

标签 javascript node.js linux socket.io

我试图让我的 nodejs socket.io 应用程序在我的网站上运行,但没有结果。在我自己的电脑上,它可以与 xampp 一起正常工作。

npm install --save express@4.10.2npm install --save socket.io 已安装

这是我的代码:我用 nodejs 运行的 server.js

var socket = require( 'socket.io' );
var express = require( 'express' );
var http = require( 'http' );

var app = express();
var server = http.createServer( app );

var port = 8080;

var io = socket.listen( server );

io.sockets.on( 'connection', function( client ) {
    console.log("New user connected");

    client.on('message', function( data ) {
        console.log( 'Message: ' + data);

        io.sockets.emit( 'message', data);
    });
});

server.listen(port, function(){
    console.log("Listening on port: " + port);
});

这是我的 index.php

<script src="script/node_modules/socket.io-client/dist/socket.io.js"></script>
<script>
    var socket = io.connect( 'http://localhost:8080' );
</script>

我这样做不同于 this因为我使用的是 Apache。

无论 server.js 是否与 nodejs 一起运行,我都会收到此错误,我总是会收到同样的错误。

enter image description here

虚拟机来自digitalocean。

除了 22、80 和 443 之外的所有端口都被阻止了。

我使用 sudo ufw allow 8080sudo ufw allow 8080 允许端口 8080,但它没有用。

ufw 被禁用 sudo ufw disable 但没有工作。

我不知道接下来要尝试什么。我该如何解决这个问题?

最佳答案

试试这个。我认为是 Node 服务器未配置。你检查你的 Node 日志吗?

var app = require('express')();
var http = require('http').Server(app);
var io = require('socket.io')(http);
var config = {port : 8080};

http.listen(config.port, function() {
  console.log('listening on port',config.port)
});

io.on('connection', function(socket) {
    console.log("New user connected");
    socket.on('message', function( data ) {
        console.log( 'Message: ' + data);
        socket.emit( 'message', data);
    });
});

关于javascript - 无法让 nodejs socket.io 在我的 ubuntu 虚拟机上工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41305304/

相关文章:

javascript - cakePHP 和 Google AdSense

javascript - 如何导出 multer 模块

linux - 在bash中获取确切的Linux发行版名称

linux - 如何在 ssh 命令行中进行文件传输?

javascript - 如何比较输入的两个日期?

javascript - 带有 Node 的 d3js,如何向饼图添加线条?

javascript - 'string' 类型的参数不可分配给 'AbstractControl' 类型的参数。 Angular react 形式

javascript - Node.js/Express POST 的 req.body 为空。通过Postman发送POST请求

javascript - 如何在 Node.js 中调用多个 API 同步

linux - 优化 grep、awk 和 sed shell 内容