Сокет VLI (индикатор переменной длины) - PullRequest
1 голос
/ 28 сентября 2010

Я давно программирую с помощью сокетов, и одна из вещей, которые я всегда делаю, - это включение vli (индикатора переменной длины) в начале сообщения.Значение vli 2 или 4 байта указывает на длину сообщения.Идея состоит в том, что если два сообщения приходят вместе, вы можете разделить их на части.Если сообщение охватывает несколько пакетов, вы можете объединить их в буфер для создания сообщения.

Вопрос в том, использую ли я c # TcpSocket или TcpListener для отправки сообщения по TCP, все равно необходимо ли включать vli или c #Об этом заботятся библиотеки сокетов и гарантируют, что одно сообщение отправляется за событие, а сообщение не разбивается на несколько пакетов.

1 Ответ

1 голос
/ 28 сентября 2010

Классы сокетов .NET - это просто оболочки для API сокетов.У вас все еще есть те же проблемы, что и при использовании API напрямую.

Если вы хотите завершить обмен сообщениями через TCP, взгляните на Windows Communication Foundation (WCF), который является библиотекой .NET.Он обеспечивает возможность передачи завершенных объектов по нескольким транспортам, включая TCP.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...