Главная страница
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.024 c
3-1097054853
GlaDimoN
2004-10-06 13:27
2004.11.07
создание отчета


1-1098474867
GanibalLector
2004-10-22 23:54
2004.11.07
странности...


14-1097743259
Игорь Шевченко
2004-10-14 12:40
2004.11.07
Существует ли программа, показывающая сетевые соединения


3-1097220207
anat
2004-10-08 11:23
2004.11.07
ODAC-TOraLoader


8-1091957143
Delphi5.01
2004-08-08 13:25
2004.11.07
... края силуэта ... плавно переходили в фон