Асинхронный протокол TCP в С#

Я собираюсь реализовать протокол сервер-клиент через TCP со следующими функциями:

  1. Функциональность запроса и ответа
  2. Аутентификация
  3. Сообщения, инициированные на стороне сервера

Все через одно TCP-соединение.

Каждый запрос и ответ будут содержать несколько переменных, таких как запрос HTTP POST, но может потребоваться больше вложенных структур, возможно, некоторая сериализация объектов.

У меня есть идея, как реализовать это с нуля.

Мой вопрос, существует ли какой-либо существующий протокол, предпочтительно с полезными функциями в С#, который делает это?

Также это будет реализовано на С#, но протокол, который так же легко может быть реализован на других языках, является плюсом.


person hultqvist    schedule 25.11.2010    source источник


Ответы (1)


Почему бы не попробовать использовать WCF, который поддерживает связь по TCP?

http://msdn.microsoft.com/en-us/library/ff649818.aspx

person Dean Chalk    schedule 25.11.2010
comment
Спасибо, я начал смотреть на это, однако некоторые вещи еще не ясны. Могут ли сообщения инициироваться в обоих направлениях? - person hultqvist; 26.11.2010
comment
Вы хотите погуглить WCF и «Дуплексные контракты» для двунаправленной связи. - person Dean Chalk; 26.11.2010