Главная страница
    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.008 c
3-30220
OlegM
2003-03-24 09:18
2003.04.10
Помогите с запросом на MySQL сервер


14-30569
Leran2002
2003-03-21 08:57
2003.04.10
Мастера оцените сайт...


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


9-30205
APTEMKA
2002-10-23 02:25
2003.04.10
Как прикрепить камеру к объекту


6-30488
Mandrake
2003-02-18 16:19
2003.04.10
Кто-нибудь что-нибудь знает о TNMStrmServ ?





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский