2010-10-26 4 views
0

Я понимаю, как я могу использовать сырой сокет для прослушивания серверного приложения и получать информацию, но мне нужен простой интерфейс доступа, и я очень хорошо знаком с REST.
Есть ли способ до нажимать (не используя длинный пул) данные с использованием службы WCF?
Вот моя идея о том, как все должно происходить, по крайней мере, в начале:Raw socket, прослушивающий канал REST в Silverlight

  1. клиент получает доступ к URI с его параметрами доступа (IP, порт, apikey).
  2. Ответы сервера на успех/неудачу.
  3. Сервер открывает сокет для каждого канала с подробностями клиента.
  4. Сервер обращается к URI, указывающему, что все каналы теперь передаются потоком.

Но как обернуть клиент или сокет для доступа к URI?

Редактировать:
Возможно, я должен открыть сокет, который уведомляет об изменениях в канале и на стороне клиента, чтобы он прослушивал и поднимет событие соответствующим образом.
Это не очень общее решение, не так ли?

ответ

1

Вы должны изучить привязку Net.TCP, как описано Tomek (одним из членов команды WCF) here. Вы используете его более или менее, как если бы вы использовали привязку HTTP Duplex (т. Е. HTTP Long Poll), но это намного, намного быстрее. Это еще сложнее, чем REST, но это намного проще, чем сокеты, и я не думаю, что вы найдете решение типа REST, которое сделает все, что вам нужно.

+0

Если у меня есть сервер C++, привязка Net.TCP все еще работает? –

+0

Только если вы используете C++ для реализации WCF-сервера, что возможно, но я не могу себе представить, что вы хотите это сделать. Если вам нужен доступ к серверу C++ из Silverlight, я должен представить, что вы действительно хотите сделать это через сырые сокеты. Это PITA по сравнению с WCF, но это, безусловно, возможно. –

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

  • Нет связанных вопросов^_^