Позвольте мне объяснить свой сценарий, прежде чем задавать вопрос.
Я нахожусь в фазе создания 17 различных многопользовательских игр, которые можно играть онлайн, непосредственно из браузера.
Для этого я выбрал Silverlight.
Связь будет осуществляться с использованием разъемов.
Изображение 17 таких игр, как «Шахматы», «Нарды», «Пул», «Пул» и сотни онлайн-пользователей, взаимодействующих между клиентским приложением и серверным приложением, с использованием сокетов, привязанных к одному и тому же номеру PORT.
Не будет быстрее (для моего сервера), если каждый другой тип игры будет использовать другой номер PORT? Шахматы будут использовать 4502, Нарды будут использовать 4503, Pool 4504.
Будет ли это иметь значение? Или я должен использовать тот же номер PORT 4502 для всех игр, не опасаясь, что может произойти что-то плохое?Несколько сокетов на одном и том же порту с несколькими гнездами на нескольких портах
ответ
Что касается скорости обработки на вашем сервере, это, скорее всего, будет иметь очень мало значения, получаете ли вы все свои сообщения на одном сокете или 17. Подход с одним сокетом будет немного быстрее, поскольку ваше серверное приложение, вероятно, будет есть меньше потоков для переключения между ними. Однако будут и другие вещи, которые будут иметь более высокие накладные расходы, такие как фактическая обработка движений игры или авторизация клиентских запросов и т. Д.
Что касается вопроса о том, следует ли использовать один или несколько сокетов, то самое большое, о чем вы должны думать, это развертывание ограничения. Номера портов TCP, которым Silverlight разрешено использовать нестандартные (т. Е. Не 80 или 443), и если между вашим клиентом и сервером есть брандмауэр или прокси, вы можете лучше придерживаться одного порта, чтобы сделать список управления доступом брандмауэр проще.
Сокет, который был установлен как сервер, может принимать запросы на соединение от нескольких клиентов. Исходный серверный сокет не станет частью соединения. Метод accept делает новый сокет, который участвует в соединении и возвращает этот сокет. Оригинальный сокет сервера остается доступным для прослушивания дальнейших запросов на соединение.
Поэтому у него нет преимуществ использовать разные порты сервера. После того, как все веб-серверы получат все свои запросы на порт 80 и справятся с этим очень хорошо.
- 1. Настройка нескольких сокетов UDP на одном порту
- 2. Несколько служб tcp на том же порту
- 3. Сокеты Java: несколько потоков клиентов на одном и том же порту на одном компьютере?
- 4. sphinx несколько searchd на том же порту
- 5. Как заставить сервер принимать несколько сокетов на одном и том же порту
- 6. Развертывание нескольких приложений в одном и том же порту
- 7. Запуск нескольких экземпляров Tomcat на том же порту
- 8. Блокировать слишком много пакетов на одном и том же порту
- 9. Соединения с несколькими гнездами
- 10. Несколько серверов на том же ip
- 11. Можно ли идентифицировать и перенаправить трафик на несколько сервисов на одном и том же порту?
- 12. Как получить и управлять несколькими TCP-соединениями на одном и том же порту?
- 13. Несколько гнезд UDP для прослушивания определенного источника на одном и том же порту
- 14. Запуск нескольких арендаторов на одном и том же порту с веб-сервером apache - NameBasedVirtualHsoting
- 15. Несколько туннелей обратного порта SSH на одном и том же удаленном хосте и порту
- 16. Как запустить несколько ярлыков серверов на одном и том же порту с помощью узла и hapi?
- 17. Как запустить несколько приложений с угловым ползунком на одном и том же сервере и в порту?
- 18. Запуск нескольких сайтов ASP.NET на одном и том же порту и IP
- 19. Отладка IP-адресов с несколькими гнездами на одном компьютере
- 20. Несколько ASP.NET Web API на одном и том же IIS
- 21. Множество сайтов и доменов сервера Nginx (на одном и том же порту/другом порту)
- 22. Запуск нескольких приложений Node (Express) на одном и том же порту
- 23. Может ли несколько приложений WT работать на одном и том же порту?
- 24. Обновление нескольких битмапов на одном и том же андроиде SurfaceView
- 25. Go - веб-сервер, прослушивающий несколько протоколов (HTTP и RTMP) на одном и том же порту
- 26. IIS Express - Visual Studio - запуск нескольких сайтов на одном и том же порту
- 27. Backbone.js рендеринг нескольких шаблонов на одном и том же представлении
- 28. WebRoar и Apache2 на том же порту. Лучшая практика?
- 29. Витрины Cherrypy + Autobahn на том же порту
- 30. с использованием нескольких серверов с скрученными гнездами
Новый разъем на другом порту? – zooropa