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

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

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

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

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

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

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

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


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


Ответы (1)


arrow_upward
2
arrow_downward

Почему бы не попробовать использовать 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