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

Вниз

Какой максимальный объём данных...   Найти похожие ветки 

 
Knight ©   (2003-12-05 23:11) [0]

... рекомендуется пересылать через Socket за один раз?


 
Knight ©   (2003-12-05 23:15) [1]

И имеется ли встроенный контроль ошибок или надо проверять данные самому?


 
Nikolay M. ©   (2003-12-05 23:48) [2]

Гигов 20, за раз, не больше :)

А вообще зависит от топологии и настроек сети, протокола и тп. В некоторых случаях нельзя гарантировать, что даже 512 байт придут в том порядке, в каком их послали (по UDP и рядом с ним лежащими протоколами, конечно).


 
Knight ©   (2003-12-06 00:35) [3]

А TServerSocket и TClientSocket рядом лежат или нет?


 
SPeller ©   (2003-12-06 09:41) [4]

Тебе вообще параллельно какими размерами будут пересылаться твои данные - винда сама разберётся.


 
Knight ©   (2003-12-06 10:44) [5]

>> SPeller © (06.12.03 09:41) [4]
Вобщем с размерами понял... послать можно сколько угодно, а там уж как Винда повезёт... :)

Кстати, может что посоветуете...
Использую в своей проге перекачку файлв по ЛВС, решил реализовать докачку, чтобы можно было прервать в любой момент, и продолжить позже. Хочу бить на блоки переменной длинны, в зависимости от текущей загруженности локалки. Делаю на TServerSocket и TClientSocket, но не понял несколько моментов
1) Если отправляешь блок данных, то перезапрашивет ли система пакеты, которые прошли с ошибками, т.е. есть ли гарантия, что блоки будут идентичны.
2) Какие события происходят при ошибках, чтобы их посчитать и при необходимости изменить размер пересылаемых блоков.


 
Nikolay M. ©   (2003-12-06 10:55) [6]


> SPeller © (06.12.03 09:41) [4]

Не говори того, в чем не уверен на 100%.


> А TServerSocket и TClientSocket рядом лежат или нет?

Нет, они как раз не рядом, а на один уровень выше, поэтому при использовании TServerSocket и TClientSocket тебе действительно все равно, как будет присходить передача данных, потому что эти компоненты работают по протоколу TCP/IP, а он уже по определению обеспечивает надежную передачу данных, чего нельзя сказать о протоколах UDP, IP и проч.
В [2] был дан ответ в общем случае, если ты работаешь действительно через сокеты системы (поскольку в вопросе не было сказано про тип протокола). Советую хотя бы день-два посвятить чтению документации Windows Sockets 2 Reference (идет вместе с дельфи) и изучению хотя бы на уровне картинки стандарта 7-уровневой модели OSI. Многие вопросы отпадут сами, какие бы ты компоненты ни использовал.


 
Knight ©   (2003-12-06 11:48) [7]

>> Nikolay M. © (06.12.03 10:55) [6]
О 7-уровневой модели OSI я когда-то читал. Поэтому и использую, для общих сообщений UDP, а для данных использую Socket"ы под TСP/IP.

Посмотрел Socket Ref... если честно, то моего знания английского хватает только, чтобы разобраться в использовании компонентов, функций и назначении, передаваемых в них, аргументов. Со слитными текстами у меня некоторые сложности, тут понадобится не день и не два, а месяц-другой... :)


 
Nikolay M. ©   (2003-12-06 11:52) [8]


> Со слитными текстами у меня некоторые сложности, тут понадобится
> не день и не два, а месяц-другой... :)

Ну так надо же когда-то начинать :?)


 
Knight ©   (2003-12-06 12:49) [9]

Придётся, однако... :)

Но всё-таки, можно узнать сколько ошибок было при передаче блока?


 
Nikolay M. ©   (2003-12-06 12:57) [10]

При передаче по TCP/IP ошибок, скорее всего, не будет. Если так заботит этот вопрос, сделай последний байт блока равным остатку от деления суммы всех байт блока на 256. С вероятностю 1/256 увидишь ошибку. Если еще умножить на вероятность возникновения и приема собственно самой ошибки, получится достаточно малая величина.


 
Knight ©   (2003-12-06 13:01) [11]

>> Nikolay M. © (06.12.03 12:57) [10]
Ну ладно... тады на ошибки забью пока. А там на практике поглядим. Спасибо. :)



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

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

Наверх




Память: 0.49 MB
Время: 0.035 c
4-99824
Дмитрий Д
2003-11-01 09:08
2003.12.30
Notebooc


14-99714
RainKm
2003-12-09 10:47
2003.12.30
Com


14-99781
avk02
2003-12-03 04:53
2003.12.30
Корпус Xaser III v2000 Super Tower


1-99586
KoLoB
2003-12-17 15:13
2003.12.30
Окошко поверх окон


7-99807
xxxXXxx
2003-10-23 15:25
2003.12.30
Анимация без мерцания