Главная страница
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.021 c
3-99481
tERRORist
2003-12-04 18:21
2003.12.30
Обращение к столбцу по его названию хранящ. в строк. переменной


14-99740
Moscower
2003-12-05 15:47
2003.12.30
В воскресенье в РФ выборы в ГД


1-99590
SiJack
2003-12-17 14:44
2003.12.30
замучился с DBChart


7-99794
Piero
2003-10-22 22:20
2003.12.30
Как узнать диагональ монитора


7-99802
dolphin1
2003-10-24 01:00
2003.12.30
Process