Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.04.10;
Скачать: CL | DM;

Вниз

Есть 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;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.017 c
7-30634
Ruf
2003-02-14 11:18
2003.04.10
hotkey


4-30660
KDenis
2003-02-10 23:07
2003.04.10
Как убить процесс, зная его Handle?


4-30655
tesd
2003-02-11 14:54
2003.04.10
Ассигн выполнения консольной программы


14-30542
Дмитрий К.К.
2003-03-24 12:37
2003.04.10
Именинники 24 марта


1-30459
Kron
2003-03-31 11:39
2003.04.10
Как обработать событье максимизации формы?