我做了一个在线多人游戏。当我在localhost:3000上使用node.js命令提示符运行它时,我工作得很完美。但是当我尝试在网站上运行它时,它并没有执行我的app.js文件所说的操作。我的问题是;在网站上运行node.js,但不在本地主机
如何让我的node.js项目在我的网站上运行,而不是在本地主机上运行? 什么是港口而不是3000? 我可以通过ftp上传一些文件到我的网站吗?
这里是我的app.js文件
var express = require('express'),
app = express(),
server = require('http').createServer(app),
io = require('socket.io').listen(server);
var usernumm = 0;
var usernum1 = [];
app.use(express.static(__dirname + '/public'));
server.listen(3000);
app.get('/', function(req, res){
res.sendfile(__dirname + '/index.html');
});
io.sockets.on('connection', function(socket){
var endpoint = socket.manager.handshaken[socket.id].address;
console.log('***New connection from ' + endpoint.address + ':' + endpoint.port);
usernumm++;
io.sockets.emit('usernum', usernumm);
usernum1[usernumm] = endpoint.port;
console.log('usernum'+usernumm+'geldi'+findusernum());
socket.on('button1socket', function(){
io.sockets.emit('button1f', findusernum());
console.log('user '+findusernum()+' pressed a button');
});
socket.on('buttonclickable', function(){
io.sockets.emit('buttonclickable1', findusernum());
});
socket.on('disconnect', function() {
usernumm--;
io.sockets.emit('usernum', usernumm);
//sockets[usernum] = socket.port;
console.log('***Client disconnected');
});
//finds number of online users
function findusernum(){
for(var i = 0; i<9;i++){
if(usernum1[i] == endpoint.port){return i;}else{}
}
}
});
[去节点生活](http://code.tutsplus.com/tutorials/going-live-with-node-net-33923) – adeneo
我推荐Heroku,基本上你只是上传它,它应该跑。 您还应该注意: 'var port = process.env.PORT || 3000' 这可以让您的服务器根据环境端口运行。 –
@MuliYulzary感谢您的评论,它帮助。 Heroku真棒。和这个('process.env.PORT || 3000')也有帮助。 –