我创建了一个TCP服务器,它使用node.js从客户端接收消息(使用TCP Client android app进行测试)。是否可以在heroku上部署它? 这是代码
var http = require('http')
var express = require('express')
var app = module.exports = express.createServer();
var net = require('net')
var port = process.env.PORT || 5000
var routes = require('./routes')
app.configure(function(){
app.set('views', __dirname + '/views');
app.set('view engine', 'jade');
app.set('view options', {layout:false, pretty:true});
app.use(express.bodyParser());
app.use(express.methodOverride());
app.use(app.router);
app.use(express.static(__dirname + '/public'));
});
app.configure('development', function(){
app.use(express.errorHandler({ dumpExceptions: true, showStack: true }));
});
app.configure('production', function(){
app.use(express.errorHandler());
});
//ROUTES
app.get('/',routes.index);
var mainserver = net.createServer(function(socket) {
console.log('connected');
socket.on('data',function(data){
console.log(data.toString());
io.sockets.emit('dummy',data.toString());
});
});
mainserver.listen(1337, '192.168.1.108');
var io = require('socket.io').listen(app);
app.listen(port);
如您所见,我将tcp消息发送到端口1337以及由路由器分配的IP地址。
当我在浏览器上键入localhost:5000时,我得到一个html页面,只是控制台记录服务器从应用程序收到的消息(稍后使用socket.io将其发送到客户端)。
这里使用了两个端口。
如果要在heroku上部署,如何更换端口号?还有如何更换IP地址?
感谢任何帮助
答案 0 :(得分:0)
我不认为它可以在heroku上运行。可以在process.env.PORT
上分配唯一可以用于Web服务器的外部端口。 Socket.io必须使用与Web服务器相同的端口。