Главная страница
    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.033 c
9-1089579747
Евгений Анатольевич
2004-07-12 01:02
2004.11.07
Описание движения автомобиля


1-1098716190
AZiN
2004-10-25 18:56
2004.11.07
String Grid


1-1098465298
Yr2
2004-10-22 21:14
2004.11.07
Active Directory и функция ADsGetObject


14-1098275104
Gorlum
2004-10-20 16:25
2004.11.07
Просмотреть dll и drv


3-1097061190
Its
2004-10-06 15:13
2004.11.07
SQL - запрос





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