2014-09-11 5 views
1

Когда вы не укажете порт в функции io.connect() на стороне клиента, какой порт клиент прослушивает?какой порт клиент socketIO прослушивает по умолчанию?

например:

var socket = io.connect('http://example.com/);// listening to port 80? 

Я спрашиваю потому, что я развернут на стороне сервера этого приложения на Heroku. Передняя часть - приложение IOS. Объектная библиотека socket socket socket, которую я использую для переднего конца (https://github.com/pkyeck/socket.IO-objc), требует указать порт. Но я не уверен, какой порт я должен слушать, так как это не статично на стороне сервера.

Я написал клиентскую программу в javascript для тестирования, и она работает, когда я не укажу порт.

Любая помощь будет высоко оценена.

+0

Если 80 работ, то это 80. Почему бы просто не попробовать? – mash

+0

Значит, вы говорите, что, когда вы не укажете порт, то его порт 80? Порт 80 был моим догадком, я этого не знаю точно. – SivaDotRender

+0

Я думаю, что Express-сервер прослушивает порт 3000 по умолчанию. –

ответ

6

Он прослушивает порт, который слушает сервер. Представьте, что вы настроили сервер для прослушивания порта 8080. Затем вы загружаете свою страницу по адресу http://localhost:8080, и сервер возвращает страницу, содержащую JS-код, соответствующий сокету.

  1. Если вы не указали ни один порт или хост, как в var socket = io.connect();, по умолчанию он соответствует хосту и порту текущей страницы.
  2. Если вы укажете только тот хост, который совпадает с текущим хостом, по умолчанию используется порт текущего хоста.
  3. Если вы указываете только хост, который отличается от текущего хоста, по умолчанию он имеет порт 80, если протокол HTTP. Если протокол HTTPS, порт по умолчанию равен 443.

Следующий код для url.js парсер.

+0

Я предполагаю, что вы имеете в виду локальный хост текущего хоста? (Я не очень хорошо знаком с этой терминологией). Также, что вы подразумеваете под текущей страницей? Я проверил файл url.js, с которым вы связали меня, и остальная часть вашего ответа кажется правильной. – SivaDotRender

+0

Текущий хост не обязательно является локальным хостом. Представьте, что вы загружаете свою страницу с http://apple.com. Это текущая страница. Если вы загружаете http://apple.com/mac, это ваша текущая страница. Это относится к странице, загруженной в этот момент. – Eye

Смежные вопросы