2009-11-07 1 views
1

В моем офисном здании у нас есть ноутбуки на нескольких этажах, на которых работает служба WCF. Когда службы WCF обмениваются данными друг с другом, будет ли сообщение для устройства вне диапазона автоматически достигать его с помощью нескольких прыжков? С этим справляется драйвер WCF/WLAN? Или мне нужно определить, не связано ли устройство со связью/вне диапазона и реализовать прыжок в моем собственном сервисе?Будут ли сообщения между службами WCF переходить через сеть WiFi/WLAN?

ответ

3

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

В WCF ничего нет, чтобы справиться с этим, действительно - это должно быть описано ниже в сетевом стеке, драйвером или ОС.

0

это не имеет ничего общего с WCF ....

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

+0

Я не знал, что у вас есть соединения на IP тоже. –

+0

ip-слой. сетевого уровня. –

2

Короткий ответ

с WCF может сделать один или оба из них:

  • Доверьтесь базового протокола IP, как обращаться с роумингом
  • Используйте код пользовательского канала, который обрабатывает повторные попытки, роуминг и т.д., как вы хотите это

Никакой специальный механизм для повышения роуминга не предусмотрен в классах WCF Microsoft предоставляет, но сама структура легко может поддерживать это легко если вы пишете или находите реализацию канала для этого.

Полный ответ

WCF не является протоколом на-проводе. Это структура, которая позволяет вам общаться с использованием широкого спектра протоколов и сетевых стеков. Это позволяет использовать один и тот же код клиента и сервера, используете ли вы HTTPS, raw TCP, именованные каналы или любой другой протокол.

WCF поставляется с множеством каналов в коробке, и вы можете добавить свой собственный. Например, если вы хотите общаться через BlueTooth или IRDA, просто создайте новый канал, который говорит об этих протоколах, и вы можете использовать ваши службы WCF над ним. Эти каналы можно также найти в Интернете или приобрести у поставщиков.

Большинство сетей сегодня выполняется с использованием протокола IP, и если вы используете WCF для связи между настольными компьютерами, вы, вероятно, будете использовать некоторые протоколы поверх IP, например TCP или HTTP. В этом случае будут использоваться обычные правила маршрутизации IP, поэтому, если обе машины смогут обмениваться IP-пакетами, вы можете обмениваться данными с помощью WCF.

Так что, если ваши точки доступа WiFi позволяют плавный роуминг, вы сможете использовать эту функцию с помощью WCF.

Если ваша WiFi-маршрутизация не имеет плавного роуминга, вам нужно будет выполнить дополнительную работу, если вы хотите поддерживать соединение во время роуминга. В частности, вам нужно будет создать канал, который будет реагировать на закрытое соединение, повторно разрешив имя сервера и повторить запрос. Конечно, вам придется использовать DNS или другой протокол, чтобы сервер мог обновить свою регистрацию по мере изменения IP-адреса.

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

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