Форум: "Сети";
Текущий архив: 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.044 c