2016-09-12 2 views
0

Итак, я недавно развернул приложение PeerJS для heroku. Я создал экземпляр PeerJSserver, как это: (как указано на их странице GitHub)Порты в herokuapp

// determining the port 
var port = Number(process.env.PORT || '3000'); 

var server = app.listen(port, function() { 
    console.log('Server is running on port ' + port); 
}); 

// peerjs server setup 
var peerServer = ExpressPeerServer(server); 
app.use('/app', peerServer); 
peerServer.on('connection', function(id) { console.log(id); }); 

и на стороне клиента, я хочу подключиться к этому серверу, например:

<script> 
    var peer = new Peer('someid', {host: '/', port: 9000, path: '/app'}); 
</script> 

Проблема:
Итак, вы уже знаете, что heroku случайно определяет порт, на котором должно работать приложение. Если я проверю свои журналы, я вижу порт, на котором работает сервер. Итак, как я могу определить порт на стороне клиента? Я пробовал не давать конструктору объекта порт, и он автоматически дает ему порт (который, по моему мнению, является значением по умолчанию).

Итак, должен ли я запрашивать сервер для определения его порта? Или есть лучшая альтернатива?

+0

просто удалить порт и использовать адрес вашего веба-страницы. –

+0

@IshankGulati его дает мне «не разрешенную» ошибку и в ошибке видно, что он пытается подключиться к «mysite.heroku.com:9000», поэтому он автоматически пытается подключиться к порту 9000, если я надену не давай – haider

ответ

1

Все, что я должен был сделать:

var peer = new Peer({host: '/', port: '', path: '/app'}); 

Надеется, что это помогает :)