2009-12-16 7 views
2

Текущее приложение, над которым я работаю, является приложением Client-Server C# и очень хорошо работает в сети. Теперь я думаю, может ли он работать через Интернет. Вопрос в том, как это сделать? Как я могу запустить Сервер на своем компьютере и в каких обстоятельствах, чтобы каждый клиент через Интернет мог подключиться? Какое программное обеспечение мне нужно сделать?Как сделать C# Client-Server через Интернет?

Каждый идеал/совет может быть очень полезным.

Спасибо.

ответ

2

Сообщить о применении Мыло/Tcp/Wcf бессмысленно. Он уже имеет его в своей локальной сети.

Вы можете настроить свою домашнюю сеть, чтобы разрешать подключения из Интернета. Большинство маршрутизаторов поддерживают Dynamic DNS services. Я использую его для SSH в своей домашней машине, когда я ухожу от дома.

Это потребует настройки вашего маршрутизатора дома, чтобы перенаправить соответствующие порты и настроить его для работы с сервисом Dynamic DNS, но впоследствии вы можете получить к нему доступ из любого места в Интернете с именем домена, которое вы создали с помощью служба DDNS, и все должно уйти без сучка и задоринки.

+0

Он будет работать, даже если сервер является приложением C# (приложение Windows Forms)? – Emanuel

+0

Это не имеет никакого значения. Вы просто отправляете пакеты (которые не связаны с языком программирования или средой разработки) по другому маршруту через сеть (будь то ваша ЛВС или сеть в целом). – Rushyo

+0

Отличный ответ, b/c вы обратились к динамической IP-проблеме домашних сетей.Я получил его для работы на модеме AT & T Motorola, перейдя на мой IP-адрес шлюза по умолчанию (полученный из 'ipconfig' в окне команд) в браузере, перейдя на ** Firewall **, затем ** NAT/Gaming **, затем Я добавил «Пользовательский сервис» с моим портом и моим протоколом (который в моем случае был только TCP), а затем добавив эту новую «Сервис» в качестве «Хостинг-приложения», который указывает на мой компьютер. Я запускаю свой сервер на порту '0.0.0.0', поэтому он выбирает внутренние и внешние IP-адреса. Я не могу позволить себе Dynamic DNS прямо сейчас, но по крайней мере я могу ударить его по IP. Клиент указывает на публичный IP-адрес – toddmo

4

Вы можете использовать службы WCF для сервера и пусть приложение клиента подключиться к нему с помощью TCP или мыло или ..

Great информация здесь p&p app architecture и здесь MS WCF

Для того, чтобы остальная часть интернета подключения на ваш сервер настроил веб-сайт в IIS и зарегистрировал доменное имя, указывающее его на IP-адрес вашего сервера. Также вносите изменения в файл host для обработки запросов.

2

Пока сеть, на которой вы находитесь, позволяет входящие соединения с вашим IP-адресом, вы должны быть в порядке. Хотя имейте в виду, что настройка домашней сети большинства людей включает в себя маршрутизатор, расположенный перед вашим общедоступным IP-адресом, и все ваши компьютеры/ноутбуки/игровые консоли, имеющие только IP-адреса для этой сети. Это означает, что вам, вероятно, придется настроить маршрутизатор для перенаправления порта или двух на компьютер, на котором запущен сервер.

0

В этом случае то, что вы собираетесь нужно сделать, это либо:

  • покупке сервера пространство от веб-хостинга компании (считают Windows Azure)
  • подвергаете свой компьютер на статический IP и иметь клиенты подключаются к этому.

В любом случае, я бы предложил купить домен и указать его на ip. Таким образом, если/когда место, где вы размещаете его, вы можете отправить изменение DNS, и домен укажет на новое местоположение.

Как только вы открыли открытую систему, настройте веб-службу, чтобы отвечать на запросы клиентов.

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