Программирование сетевых приложений не так уж и сложно, поэтому использование готовых компонентов в данном случае не всегда оправданно. Все компоненты, которые я видел, обладают множеством недостатков, и они не универсальны, в отличие от других компонентов Delphi.

Как показывает мой опыт, наиболее сложным в сетевом программировании является отладка. Очень сложно отследить, почему не работает функция или почему получатель видит не те данные, что ему отправляли. В данном случае вам необходимо установить программу "сниффер", которая будет анализировать сетевой трафик и показывать вам, какие данные были отправлены или получены на компьютере пользователя. Таким образом вы сможете определить, что и в каком виде на самом деле передается по сети.

При отправке данных по сети чаще всего возникают проблемы с определением размера отправляемых данных. Если к строке должны добавляться символы перевода каретки, начинающие программисты забывают добавить 2 байта к размеру отправляемых данных. Внимательно следите за этим! В следующей главе мы будем рассматривать такие примеры. Обратите внимание, как в SMTP-клиенте на Windows API подготавливается строка для отправки. С помощью этого метода вы никогда не ошибетесь в размере отправляемых данных.

Ошибки размера данных достаточно просто определить с помощью того же "сниф-фера", если не передаются читаемые символы. Перевод строки - это нечитаемые символы #13 и #10, поэтому их чаще всего и упускают из виду.

4.14. Опции сокета || Оглавление || Сетевая практика


Delphi в шутку и всерьез: что умеют хакеры



Новости за месяц

  • Май
    2022
  • Пн
  • Вт
  • Ср
  • Чт
  • Пт
  • Сб
  • Вс