在heroku上部署node.js TCP服务器

我创build了一个使用node.js接收来自客户端消息(使用TCP客户端android应用程序进行testing)的TCP服务器。 是否有可能在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地址。

当我在我的浏览器上inputlocalhost:5000时,我得到一个html页面,控制台logging服务器从应用程序收到的消息(稍后使用socket.io发送给客户端)。

有两个端口在这里使用。

如果这是部署在heroku,如何更换端口号? 另外如何更换IP地址?

任何帮助表示赞赏

我不认为它可以在heroku上运行,因为它是。 在process.env.PORT上分配唯一可用于Web服务器的外部端口。 Socket.io将不得不使用与Web服务器相同的端口。