Сокеты непонятные моменты - 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;}
}