2011-01-18 4 views
0

Я создал игру, и я хочу разместить ее онлайн. Я хочу купить сайт (я, вероятно, буду использовать goddaddy, чтобы купить доменное имя и использовать его в качестве веб-хоста) для использования в качестве сервера для обработки игры. Поскольку для каждой игры мне нужен отдельный сервер, мне нужен сервер каждой игры, чтобы существовать на разных портах. Поэтому это приводит к моему вопросу: возможно ли получить доступ к этим портам на моем будущем веб-сервере? (Я написал программу на Java, поэтому я бы предположил, что я буду обращаться к портам с серверной стороны, выбирая порт для ServerSocket и с клиентской стороны, используя IP-адрес с веб-сайта и выбранного порта для Socket)Возможно ли доступ к различным портам на веб-сервере?

(примечание: также, я знаю, что это может быть проще просто использовать один порт и запустить серверы на разных потоках вместо этого, но я просто любопытно, что мой вопрос ответил)

спасибо большое , Ian

ответ

1

Да, это должно сработать. Менеджер безопасности разрешает соединения с другим портом на том же IP-адресе, из которого был загружен апплет.

2

Технически можно использовать разные порты, но я не думаю, что веб-хостер, такой как goddaddy, позволит вам запустить Java-процесс, который привязывается к специальному порту.

+0

Как я сказал ниже, это интересно ... знаете ли вы какие-либо услуги веб-хостинга, которые могут это сделать? Чем дешевле, тем лучше.Спасибо – Ian

+0

no a не знаю ни одного провайдера, который позволит это, потому что он может также обеспечить некоторые проблемы с безопасностью – lweller

+0

ok thanks anyway – Ian

0

Вы можете запустить сервер Java на любом порту, который вы хотите. Каждый сервер принимает входящие запросы на один порт.

Правильный способ запускается только на одном порту, и каждое соединение будет создавать экземпляр нового экземпляра сервлета (который, как правило, выполняется в своем потоке), который затем может обслуживать этот запрос. Обычно вам не нужно запускать отдельные порты или беспокоиться о параллелизме, особенно если все материалы, которые используются между соединениями (например, несколько игроков в одной игре), обрабатываются через чтение/запись базы данных.

Ваш хост (GoDaddy) должен будет разрешить вам использовать эти порты, но если они предоставляют правильный хостинг (а не виртуальный хостинг) и дают вам собственный IP-адрес, нет причин, по которым вы не сможете этого сделать.

2

Если вы хотите создать свой собственный TCP-сервер, вы, очевидно, можете создать столько экземпляров своего сервера и настроить их для прослушивания разных портов. Но сейчас 2011 год. Это решение было в порядке в начале 90-х годов.

Я предлагаю вам использовать Restful API, который работает через HTTP. В этом случае вы можете переадресовывать вызовы на серверную часть каждого приложения с использованием URL-адреса, например.

http://www.lan.com/foo/login?user=u123&password=123456 - войти в приложение обув

http://www.lan.com/bar/login?user=u123&password=123456 - войти в приложение бар

В этом случае вам нужно только один сервер (веб-сервер), который слушает сокет (порт 80). Реализация вашей серверной части может быть выполнена с использованием различных веб-технологий (php, java, asp.net и т. Д.) По вашему выбору.

+0

Мне кажется, что мне нравится, как это решение звучит так благодарно, но я немного смущен, поэтому позвольте мне пояснить несколько вещей. Прежде всего, может быть полезно сообщить вам, что да, я создаю TCP-сервер, а также планирую превратить игру в апплет на веб-сайте. Но я немного смущен о модели клиентского сервера, которую вы предложили здесь; вы говорите, что я должен настроить его, чтобы мой сервер (программа Java) использовал «RESTful» для обслуживания клиентов (также программ Java), которые отправляют запросы на порт 80 (так как это будет апплет, будет ли адрес localhost? или URL?)? – Ian

0

Ваше решение может работать теоретически, и мне нравится решение AlexR. Но поставщики, такие как godaddy, не позволяют запускать java-сервер на ЛЮБОЙ порт. Вам нужно будет выяснить, кто это делает. То, что я нашел, - это стоимость от 5 долл./Мес. До примерно 20 долл./Мес, но вы получаете гораздо лучшую (более быструю) машину. Хорошие пожелания, - М.С.

+0

Thats interesting ... знаете ли вы какие-либо услуги веб-хостинга, которые могут это сделать? Чем дешевле, тем лучше. Спасибо – Ian

+0

Посмотрите www.slicehost.com - их кусок размером 256 МБ с диском объемом 10 ГБ составляет 20 долларов США в месяц –