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

Вниз

Передача данных   Найти похожие ветки 

 
Victor!   (2004-02-03 16:51) [0]

Подскажите какой компонент лучше использовать для передачи данных больших обьемов по сети. Или как правильно использовать TServerSocket и TClientSocket, а то при посылке данных (с помощью SendBuf) больше чем 8kb они делются по 8kb на стороне сервера, а на стороне клиента не правильно собираются.


 
Digitman ©   (2004-02-03 17:07) [1]

TServerSocket и TClientSocket


 
Victor!   (2004-02-03 18:05) [2]

Ай спасибо! Но вот проблема: при посылке TServerSocket.Socket.SendBuf() данных более 4Kb(в 98-й) и 8kb(в 2000), ?kb(в другой винде) при приёме, оно разбивает данные на сервере и соединяет их на клиенте непонятным образом.
Т.е. например посылаются данные:

111111111111111111111111111111...
\---4kb---/\---4kb---/\---4kb-...

оно принимает

1111111111111111~~~~~111111~~~~~1111...     ~ - нули
\---4kb---/\---4kb---/\---4kb---/\--...

Причём нули вставляются каждый раз в разных местах и кусками разного размера.

Вопрос: КАК этого избежать? ИЛИ есть ли какая-нибудь компонента, в которой такого маразма нету?


 
panov ©   (2004-02-03 18:20) [3]

>Victor!   (03.02.04 18:05) [2]

У тебя ошибка в реализации или алгоритме.


 
Dimaz-z ©   (2004-02-03 18:30) [4]

У меня мысля есть - кодировать все файлы при помощи Base64 в текст, потом это отсылать, склеивать (http://delphibase.endimus.ru/?action=viewtopic&topic=nettransfer), и потом на другой стороне преобразовывать в файлы...


 
Verg ©   (2004-02-03 18:31) [5]


>  оно разбивает данные на сервере и соединяет их на клиенте
> непонятным образом.


Оно конечно разбивает (его право), но вот оно уж точно ничего не соединяет. Соединить обратно (а это несложно) - это твоя задача. Оно только гарантирует, что последовательность фрагментов на приемной строне будет правильной, а данные абсолютно достоверны. Сколько и какие переданы - точно те же и столько же будут приняты и в той же последовательности, если факт установленного соединения имеет место быть.
Ни о каких вставках, никаких нулей речи уж быть не может - это стопудово.



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

Текущий архив: 2004.04.11;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.078 c
4-1075555696
KalmykovSergei
2004-01-31 16:28
2004.04.11
Контроль над окнами


1-1082655851
<DeL.>
2004-04-22 21:44
2004.04.11
Программа не работает без Delphi


14-1082568275
Yanis
2004-04-21 21:24
2004.04.11
Глупо.


4-1075757030
Gogi
2004-02-03 00:23
2004.04.11
Список окон и всплывающие подсказки (hint)


3-1079131721
Rauf
2004-03-13 01:48
2004.04.11
Сбрасывается типа параметра в TADOQuery с ftWideString -> ftStrin