Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Интернет и сети
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 18.03.2012, 18:21
Аватар для Amgsys HQ
Amgsys HQ Amgsys HQ вне форума
Начинающий
 
Регистрация: 11.11.2011
Адрес: Загрузочный сектор
Сообщения: 115
Версия Delphi: 7, XE
Репутация: 538
По умолчанию Целостность данных

Доброго времени суток!

Решил использовать компоненты TTCPServer и TTCPClient со вкладки Internet в своей программе, но столкулся с проблемой: требуется ли проверять хеш-сумму полученных данных? Могут ли после передачи данные стать искаженными?

Заранее спасибо!
__________________
Работа пpогpаммиста и шамана имеет очень много общего:
оба боpмочyт непонятные слова, совеpшают непонятные действия и не могyт объяснить, как оно pаботает.
Ответить с цитированием
  #2  
Старый 18.03.2012, 19:16
Аватар для Bargest
Bargest Bargest вне форума
Профессионал
 
Регистрация: 19.10.2010
Адрес: Москва
Сообщения: 2,390
Версия Delphi: XE3/VS12/FASM
Репутация: 14665
По умолчанию

Стандарт TCP предусматривает проверку данных и повтор отправки в случае повреждения данных. Так что по идеи не нужно.
Хотя, работая с сокетом в неблокирующем режиме, я сталкивался с ситуациями, когда данные разбивались на части при приёме через recv (например отправляю 2 пакета, 8192 и 8192 байт, получаю 3 части например по 2350, 4789 и 9245 байт). Насчет именно ошибок - точно не помню, были или нет. В любом случае, думаю, при работе с готовым компонентом таких проблем быть не должно.
__________________
jmp $ ; Happy End!
The Cake Is A Lie.
Ответить с цитированием
  #3  
Старый 19.03.2012, 09:01
Аватар для NumLock
NumLock NumLock вне форума
Let Me Show You
 
Регистрация: 30.04.2010
Адрес: Северодвинск
Сообщения: 5,426
Версия Delphi: 7, XE5
Репутация: 59586
По умолчанию

даже в вики написано:
Цитата:
TCP (IP идентификатор 6) — «гарантированный» транспортный механизм с предварительным установлением соединения, предоставляющий приложению надёжный поток данных, дающий уверенность в безошибочности получаемых данных, перезапрашивающий данные в случае потери и устраняющий дублирование данных. TCP позволяет регулировать нагрузку на сеть, а также уменьшать время ожидания данных при передаче на большие расстояния. Более того, TCP гарантирует, что полученные данные были отправлены точно в такой же последовательности. В этом его главное отличие от UDP.
http://ru.wikipedia.org/wiki/TCP/IP
а вот большие пакеты действительно могут разбиваться на маленькие и в этом нет ничего криминального:
Цитата:
В компьютерных сетях термин Maximum Transmission Unit (MTU) используется для определения максимального размера блока (в байтах), который может быть передан на канальном уровне сетевой модели OSI.

Значения MTU зависят от коммуникационного интерфейса (сетевая плата, последовательный порт, и т. д.).

Значение MTU может быть определено стандартом (например для Ethernet), либо может выбираться в момент установки соединения (обычно в случае прямых подключений точка-точка). Чем выше значение MTU, тем меньше заголовков передаётся по сети — а значит, выше пропускная способность. Однако медленные интерфейсы могут передавать большой пакет значительное время, увеличивая время ожидания для других пакетов. К примеру, пакет размером в 1500 байт, максимально допустимый для Ethernet, может «подвесить» 14.4k модем примерно на одну секунду.
http://ru.wikipedia.org/wiki/MTU
в любом случае склейка пакетов даст достоверный результат.
__________________
Пишу программы за еду.
__________________
Ответить с цитированием
  #4  
Старый 24.03.2012, 00:32
qqq21 qqq21 вне форума
Прохожий
 
Регистрация: 24.03.2012
Сообщения: 1
Репутация: 10
По умолчанию

Здесь ведущий региональный производитель биметаллической и стальной ленты предлагает высококачественную продукцию по доступным ценам !!!!
http://www.kompozit174.ru/about/
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 15:42.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter