node js, 30% игроков не могут подключится
Добрый день. Серверная часть игры на node js, при входе в игру флешка сначала ждет ответа от сервера и лишь потом игра запускается. Третей части игроков так и не удается подключится к серверу по неизвестным причинам. Есть подозрения, что это как-то связано с номером порта, так как допрашивал игрока у которого не запускалась игра и когда я сменил порт на ноде, то у него все-таки зашло в игру. Что делать? В какую сторону копать? моет можно слушать несколько портов или еще какие выходы могут быть? Запускал на порте 6969, потом сменил на 6868. Спасибо.
|
Ответ: node js, 30% игроков не могут подключится
А не могло ли помочь то, что ты просто сервер перезапустил?
|
Ответ: node js, 30% игроков не могут подключится
Цитата:
|
Ответ: node js, 30% игроков не могут подключится
На всякий спрошу - на обоих сторонах установлен nodelay?
|
Ответ: node js, 30% игроков не могут подключится
Какой протокол используешь для соединения?
Порта да, часто блокируют. Всякие организации, университеты, предприятия, и публичные вай-фаи имеют жёсткие ограничени на порты и трафик. Также "странный" трафик который идёт не по SSL соединению, я встречал не раз разные места где обрывают соединения. Например WebSockets соединение, не по SSL, по 80 порту, некоторые университеты обрывают нарошно, основываясь 101 HTTP коду (Switch Protocol). Переход на SSL помогает, т.к. они не могут получить доступ к данным запроса. Лучший вариант с хорошим соединением, это SSL по стандартному порту 443. Это относится не к node.js, а вообще к сети. |
Ответ: node js, 30% игроков не могут подключится
pax, я так понимаю nodelay перед отправкой всю дату воедино собирает? ну я вручную такую штуку написал, жду пока вся дата придет и только потом обрабатываю.
moka, TCP/IP использую, ну как выход можно слушать несколько портов? и если с одним портом проблемы попробовать подключится с клиента к другому порту. Или это не самое верное решение? Еще немного информации, на стороне клиентов у которых не работает выскакивает security error |
Ответ: node js, 30% игроков не могут подключится
Цитата:
HTTPS (HTTP + SSL) использует TCP по порту 443. Если один порт не разрешает, то скорее всего и остальные не разрешит, и сеть настроена на запрет всех портов с исключениями конкретных (80, 443, и пару других, скорее всего занятых конкретными сервисами). Знаю что из flash'а, нужно делать обмен policy там какой-то, просто открывать соединение они вроди не дают. В общем, ставь nginx на сервере, делай proxy на node.js процесс, и уже на ноде обрабатывай это дело, чтобы трафик по 80 порту, сортировался между веб темой и сокетами, таким образом ты обойдёшь проблемы с запретами. Как уже говорил, лучше всего использовать HTTPS (443), т.к. более жесткие организации обрывают сокеты по порту 80ому, если им "не нравятся" заголовки запроса. А вообще, чтобы это дело было ещё проще всего, используй WebSocket'ы во флаше и ноде, по порту 443 с валидным SSL трафиком. |
Ответ: node js, 30% игроков не могут подключится
Цитата:
Просто есть вероятность, что сервер может не дождаться пакета логина. Ты пинг делаешь раз в какой-то промежуток времени? |
Часовой пояс GMT +4, время: 07:16. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot