Сокеты непонятные моменты - C#
Формулировка задачи:
1. Как выбрать оптимальный размер буфера?
Я понимаю что можно поставить и 1 байт данные все равно все будут получены (TCP/IP) , можно выставить такой же как у получателя/отправителя, но что если он там к примеру гигабайт......
2. Если не известно количество получаемых данных , а известен только байт конца посылки (принимает асинхронный клиент)
Callbackrecive
{
считали пакет
if(нет символа конца посылки) Beginrecive
}
Что то мне напоминает это замкнутый цикл, не нарушается ли здесь принцип асинхронности , может в таком случае правление будет сделать клиента синхронного ?
Решение задачи: «Сокеты непонятные моменты»
textual
Листинг программы
byte[] buff = new byte[1000]; var message = new MemorySream(); for(;;) { int count = recive(buff, 0, buff.Length); message.Write(buff, 0, count); if (проверка_есть_ли_в_buff_конец_сообщения) {break;} else {continue;} }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д