Сокет.ошибка ввода-вывода в определенных сетях

#node.js #real-time #websocket #socket.io

#node.js #в режиме реального времени #websocket #socket.io

Вопрос:

У меня возникли проблемы с использованием сокета.ввод-вывод из определенных сетей.

Демонстрационная страница и сервер узла, которые я использую для тестирования, изначально находятся здесь и здесь. Это простой чат-клиент, предоставляемый socket.io .

Когда пользователь получает доступ к этой демонстрационной странице на моем сервере из определенных закрытых сетей, таких как офис или университет, пользователь подключается и отключается неоднократно, пока, наконец, не разорвет соединение. Вывод из Node.js во время этого:

 3 May 07:50:41 - Initializing client with transport "jsonp-polling"
3 May 07:50:41 - Client 16640139906667173 connected
3 May 07:50:41 - Initializing client with transport "jsonp-polling"
3 May 07:50:41 - Client 6106549079995602 connected
3 May 07:50:41 - Initializing client with transport "jsonp-polling"
3 May 07:50:41 - Client 8987158865202218 connected
3 May 07:50:42 - Initializing client with transport "jsonp-polling"
3 May 07:50:49 - Client 16640139906667173 disconnected
3 May 07:50:49 - Client 8987158865202218 disconnected
3 May 07:50:49 - Client 6106549079995602 disconnected
  

Это продолжается до тех пор, пока браузер не откажется и соединение не будет разорвано окончательно.

Кто-нибудь сталкивался с подобными проблемами раньше? Что может вызвать socket.сбой ввода-вывода в определенных сетях?

Спасибо.

Ответ №1:

Некоторые офисные / университетские сети отфильтровывают порты, превышающие известный порог порта (1024 ). Это не позволяет пользователям использовать программное обеспечение P2P (которое включает 8080) и обеспечивает меньшую загруженность сети. Я бы предложил изменить порт клиента чата на что-то в этом диапазоне или на что-то хорошо известное, возможно, 81-90 было бы моим выбором.