Форум: "Сети";
Текущий архив: 2003.04.10;
Скачать: [xml.tar.bz2];
ВнизЕсть ClientSocket , установлено NonBlocking. Засасываю в StringLi Найти похожие ветки
← →
Softik (2003-02-17 15:11) [0]Есть ClientSocket , установлено NonBlocking. Засасываю в StringList (StringList1.Add(Socket.ReceiveText)),но он только по 1460 байт засасывает (длина stringlist1.string[i]), и получаеться обрезаеться немного.
Как мне увеличить это? (кол-во байт)
подскажите, не пойму, не нашел никаких свойств в ClientSocket.
← →
Digitman (2003-02-17 15:46) [1]Ожидать, что каждый вызов приемником метода ReceiveText() вернет в точности то, что было послано передатчиком вызовом соотв.метода SendText() нельзя. Т.е. однозначного соответствия "переданная строка = принятая строка" и "кол-во посылок = кол-во событий OnRead()" нет и быть не может.
Вот вполне реальная ситуация :
>передатчик - SendText("XXX"), приемник - ReceiveText()=""
>передатчик - SendText("YYY"), приемник - ReceiveText()="XX"
>передатчик - SendText("ZZZ"), приемник - ReceiveText()="XY"
>..............................приемник - ReceiveText()="Y"
>..............................приемник - ReceiveText()="YZZ"
>..............................приемник - ReceiveText()="Z"
Протокол - поточный. Делай выводы
Кр.того, без анализа передатчиком результата вызова SendText()и обработки передатчиком события OnWrite() дальнейшие "потуги" в реализации транспорта на неблок.гнездах лишены смысла и работать все это как положено не будет.
← →
Softik (2003-02-17 15:52) [2]а как тогда сделать, подскажи пожалуйста!
← →
Digitman (2003-02-17 16:02) [3]Ты хотя бы задачу сформулируй конкретно) ... прежде чем подскажки клянчить)
← →
Softik (2003-02-17 16:08) [4]принимаю с сервера по порту данные, потом он сразу отключается.
мне нужно просто принять ВСЕ даныые и желательно в какой-нибудь удобноваримом виде, например в StringList.
← →
Digitman (2003-02-17 16:16) [5]
> принять ВСЕ даныые
и каков протокол инф.обмена у тебя ?
← →
Softik (2003-02-17 20:52) [6]ну простая подача байтов которую мне надо принять, вот и все.
Сервер сам обрубает, когда все байты переданы.
← →
Digitman (2003-02-18 09:01) [7]
> простая подача байтов
Почему же тогда - SendText() ? Почему не SendBuf() ? И - где анализ результата вызова SendText() ? Где обработка On[Client]Write ?
> Сервер сам обрубает
Кого он "обрубает" ??) Я не понял.
Страницы: 1 вся ветка
Форум: "Сети";
Текущий архив: 2003.04.10;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.007 c