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

Вниз

Помогите с сокетами. 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;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.023 c
1-1098630512
LAndreyV
2004-10-24 19:08
2004.11.07
Подскажите по поводу hint


3-1097172933
beer_lvr
2004-10-07 22:15
2004.11.07
организация галереи из BLOB-поля


1-1098447124
Wolffgang
2004-10-22 16:12
2004.11.07
Assigned?


14-1097911291
MYSTERYO
2004-10-16 11:21
2004.11.07
Ставлю сетевуху - не инициализируется видео-карта,


3-1097481683
Jann
2004-10-11 12:01
2004.11.07
работа с таблицей