我试图让我的 nodejs socket.io 应用程序在我的网站上运行,但没有结果。在我自己的电脑上,它可以与 xampp 一起正常工作。
npm install --save express@4.10.2
和 npm 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 一起运行,我都会收到此错误,我总是会收到同样的错误。
虚拟机来自digitalocean。
除了 22、80 和 443 之外的所有端口都被阻止了。
我使用 sudo ufw allow 8080
和 sudo 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/