Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Сети";
Текущий архив: 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
1-30360
Rafik
2003-03-26 16:01
2003.04.10
Отчет постранично не распечатать


1-30422
любитель
2003-03-31 05:24
2003.04.10
Можно ли сделать бесконечный цикл в Delphi


3-30284
Goga
2003-03-22 12:19
2003.04.10
Подключение текста как БД


1-30390
mask
2003-03-29 19:32
2003.04.10
Open API


14-30607
Дашин
2003-03-26 10:58
2003.04.10
товарищи, как мне узнать по ip жителей города





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский