Я немного новичок в C#, но то, что я кодирую для клиента CoAP, который будет проверять пропускную способность и время отклика нескольких серверов CoAP одновременно. FYI приложение реализовано как программа командной строки. Библиотека, которую я использую, является CoAP.NET.Пользовательские настройки Coap.Net
Все прошло нормально, пока я не захотел изменить размер блока по умолчанию от 512 байт до менее 32 байт.
Здесь мое понимание C# меня не устраивает, настройки находятся в интерфейсе ICoapConfig и классе CoapConfig. Эти настройки просто волшебным образом загружаются в какой-то момент.
Я пытался сделать это:
CoapConfig conf = new CoapConfig();
conf.DefaultBlockSize = 32;
CoapClient client = new CoapClient(conf);
...
Request req = new Request(Method.PUT);
req.SetPayload(payload, MediaType.TextPlain);
client.Send(req);
Однако размер_блока еще 512 в качестве сообщения только получить переданы покадрово, когда над 512b.
DEBUG - BlockwiseLayer uses MaxMessageSize: 1024 and DefaultBlockSize:512
Это первая строка вывода, которую я получаю при запуске программы.
Рад за любую помощь :)
РЕШЕНИЕ:
CoapConfig conf = new CoapConfig();
conf.DefaultBlockSize = 32;
...
Request req = new Request(Method.PUT);
req.SetPayload(payload, MediaType.TextPlain);
req.URI = client.Uri;
IEndPoint _clientEndpoint;
_clientEndpoint = new CoAPEndPoint(conf);
_clientEndpoint.Start();
req.Send(_clientEndpoint);
...
Я действительно не знаю, что может быть это EndPoint вещь, но это позволяет использовать необходимую конфигурацию при отправке. FYI: Я попытался установить конфигурацию для сервера, но безуспешно.
Хорошо поставил вопрос. –
Спасибо! Сделал мои лучшие :) –