私はセンサからデータを収集する電子ボードを持っています。それをWebサービスに送信してから、何らかの処理を行い、結果をWebサイトに送信しますURLが入力されます。私はこれに複数のポートを使用します。 1つのポートはUDP接続をリッスンし、他のポートはHTTPをリッスンします。コードはローカルマシン上で正常に動作します。ここで私はそれだけで一つのポートを許可するので、それは、Herokuの上でホストすることはできません知っているコードWeb /クラウド上の複数のポートnode.jsアプリケーションのデプロイ
var net = require('net')
,dgram = require('dgram')
,express = require('express')
,io = require('socket.io')
,routes = require('./routes')
,http = require('http')
,fs = require('fs');
var app = module.exports = express.createServer();
var HOST = '192.168.0.132'
var PORT = 1337
var datarr = []
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);
//UDP Server
var decoder = new (require('string_decoder').StringDecoder)('utf-8')
var buffer = '';
var server = dgram.createSocket('udp4');
server.on('listening',function() {
console.log('Listening');
});
server.on('message', function(data,rinfo) {
console.log(decoder.write(data));
io.sockets.emit('data',decoder.write(data));
});
server.on('close', function(data) {
console.log('closed');
});
server.bind(1337,'192.168.0.132');
//UDP server ends
var io=require('socket.io').listen(app);
app.listen(1185);
io.sockets.on('connection',function (socket) {
console.log('Hello Got a connection');
});
console.log("server listening");
です。
私のオプションは何ですか?
1)このウェブサイトのいくつかの回答によると、ウェブソケット。しかし、私はudpとhttpサーバーの間にwebsocketを設定する方法については全く知らない。ウェブサイトへのリンク/ githubはとても親切です。
2)複数のポートを許可するホスティングサービス。このサービスを提供するものはありますか?文書へのリンクは高く評価されます。
ありがとうございます。