Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Потрепаться";
Текущий архив: 2003.12.30;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.01 c
14-99730
SergeySEM
2003-12-08 15:09
2003.12.30
Boom


1-99607
MadAngel
2003-12-16 20:22
2003.12.30
Вставка в RichEdit


1-99542
MisterJ
2003-12-16 10:52
2003.12.30
Delphi5+ExcelXP


7-99808
Turonix
2003-10-23 16:04
2003.12.30
Управление мышью


6-99683
dream
2003-10-30 07:51
2003.12.30
функция LogonUser как определить домен ?





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