2015-03-26 8 views
1

Я немного новичок в 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: Я попытался установить конфигурацию для сервера, но безуспешно.

+0

Хорошо поставил вопрос. –

+0

Спасибо! Сделал мои лучшие :) –

ответ

0

Вы можете просмотреть весь исходный код для CoAP.NET на github.

Я не знаком с этой библиотекой, но из всего лишь быстрого обзора, похоже, что свойство конфигурации DefaultBlockSize ссылается только на CoapServer (не CoapClient).

Дополнительное свидетельство находится в приборе BlockTransferTest, который конфигурирует CoapServer с конкретным размером блока на line 43.

Вы также можете проверить line 161 того же класса испытаний. Похоже, что вы также можете указать параметры конфигурации для конечной точки.

+0

Ну я решил! Спасибо за отзыв в библиотеке CoAP.Test: D –

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