Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Сети";
Текущий архив: 2004.11.07;
Скачать: [xml.tar.bz2];

Вниз

Помогите с сокетами. ClientSocket, ServerSocket   Найти похожие ветки 

 
Алексей   (2004-08-30 09:16) [0]

Проблема в следующем: использую я TClientSocket, TServerSocket,
при обработке собатий onRead, я должен отправить команду, размер которой превышает
8 кб(максимальный размер, точно не помню). Пробывал отправлять порциями по 4 кб, но
при использовании Socket.SendBuf возникают ошибки, то есть процедура не срабатывает
сразу. К Примеру если вызвать два раза эту метод, то на клиенту придет одна команда
размером 8 кб, как с этим бороться? Я пробывал вызывать после каждого вызова Socket.SendBuf
Application.ProcessMessage, но это помогло только, если клиент и сервер находятся в одной
программе. В итоге при отправке 100 пакетов по 4 кб, доходят максимум 5, и то размером по
8 кб с копейками.

Может уже есть реализация этих двух классов, но с подержкой пересылки больших объёмов данных.

А да кстати, если что я просмотрел весь FAQ, там есть подобный вопрос, но исходинки там не работают.
К примеру исходник с передачей файла(простой способ передачи файла через сокет) не будет работать
с фалами больше 8 кб(Точную цифру не помню).

На даюсь суть проблемы есна.


 
Rouse_ ©   (2004-08-30 09:27) [1]

Помести буффер в MemoryStream и вызови SendStream остальное он за тебя выполнит...


 
Алексей   (2004-08-31 03:12) [2]

Если размер стрима большой, то всё равно он не доходит до клиента полностью(Доходит только 8 кб). Я уже пробывал через поток, в исходнике компонента размер патока вообще ограничен 4096 байтами, поэтому это проблемы не решает. А в хелпе написано Mircosoft Socket Api, что размер отправляемы данных ограничен константой и размер этой константы, что-то около 8 кб.


 
Digitman ©   (2004-08-31 09:03) [3]


> Если размер стрима большой, то всё равно он не доходит до
> клиента полностью


не выдумывай, оч даже замечательно доходит
ты просто или неверно отправляешь или неверно принимаешь его


>  в исходнике компонента размер патока вообще ограничен 4096
> байтами


где ты это увидел там ? нет там такого
а 4кб-массив, который ты там увидел - это не поток, это временный буфер



Страницы: 1 вся ветка

Форум: "Сети";
Текущий архив: 2004.11.07;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.035 c
1-1098331590
klyg
2004-10-21 08:06
2004.11.07
Поиск слова среди HTML-документов


1-1098798475
Русел
2004-10-26 17:47
2004.11.07
HLP & CHM


14-1097830210
AlexG
2004-10-15 12:50
2004.11.07
Мультизагрузка, WinXP и Win2000...


14-1098185744
Ilya____
2004-10-19 15:35
2004.11.07
GetFileSize


14-1098039450
Барбос
2004-10-17 22:57
2004.11.07
фракталы и система координат





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