Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Есть ClientSocket , установлено NonBlocking. Засасываю в StringLi


Softik ©   (2003-02-17 15:11:00) 

Есть ClientSocket , установлено NonBlocking. Засасываю в StringList (StringList1.Add(Socket.ReceiveText)),но он только по 1460 байт засасывает (длина stringlist1.string[i]), и получаеться обрезаеться немного.
Как мне увеличить это? (кол-во байт)
подскажите, не пойму, не нашел никаких свойств в ClientSocket.


Digitman   (2003-02-18 09:01:00) [1]


> простая подача байтов


Почему же тогда - SendText() ? Почему не SendBuf() ? И - где анализ результата вызова SendText() ? Где обработка On[Client]Write ?


> Сервер сам обрубает


Кого он "обрубает" ??) Я не понял.


Softik   (2003-02-17 20:52:00) [2]

ну простая подача байтов которую мне надо принять, вот и все.
Сервер сам обрубает, когда все байты переданы.


Digitman   (2003-02-17 16:16:00) [3]


> принять ВСЕ даныые


и каков протокол инф.обмена у тебя ?


Softik   (2003-02-17 16:08:00) [4]

принимаю с сервера по порту данные, потом он сразу отключается.
мне нужно просто принять ВСЕ даныые и желательно в какой-нибудь удобноваримом виде, например в StringList.


Digitman   (2003-02-17 16:02:00) [5]

Ты хотя бы задачу сформулируй конкретно) ... прежде чем подскажки клянчить)


Softik   (2003-02-17 15:52:00) [6]

а как тогда сделать, подскажи пожалуйста!


Digitman   (2003-02-17 15:46:00) [7]

Ожидать, что каждый вызов приемником метода ReceiveText() вернет в точности то, что было послано передатчиком вызовом соотв.метода SendText() нельзя. Т.е. однозначного соответствия "переданная строка = принятая строка" и "кол-во посылок = кол-во событий OnRead()" нет и быть не может.

Вот вполне реальная ситуация :

>передатчик - SendText("XXX"), приемник - ReceiveText()=""
>передатчик - SendText("YYY"), приемник - ReceiveText()="XX"
>передатчик - SendText("ZZZ"), приемник - ReceiveText()="XY"
>..............................приемник - ReceiveText()="Y"
>..............................приемник - ReceiveText()="YZZ"
>..............................приемник - ReceiveText()="Z"

Протокол - поточный. Делай выводы


Кр.того, без анализа передатчиком результата вызова SendText()и обработки передатчиком события OnWrite() дальнейшие "потуги" в реализации транспорта на неблок.гнездах лишены смысла и работать все это как положено не будет.


Наверх

Титульная страница Поиск, карта сайта Написать письмо