Создание Internet-приложений в среде Delphi. Сокеты клиента

   
На этом шаге мы рассмотрим работу сокетов на стороне клиента.

   
Для того, чтобы "превратить" ваше клиентское приложение в сетевое приложение, работающее по протоколу TCP/IP, достаточно добавить в форму вашей программы компонент
TClientSocket. Каждый такой компонент работает с объектом TClientWinSoket, и вы можете использовать свойства, события и методы этого объекта,
если вам нужно вызывать функции API сокетов Windows напрямую. Цикл работы клиентского сокета обычно таков:

  • определение нужного сервера;
  • установление связи с сервером;
  • получение информации о соединении;
  • чтение и запись данных с сервера и на сервер;
  • закрытие соединения.

   
Как уже было сказано, для успешного открытия соединения клиентскому сокету нужно знать имя или адрес сервера и номер порта. Имя задается в свойстве Host, а IP-адрес
в свойстве Address. Если заданы оба значения, то предпочтение отдается имени компьютера. Порт задается в свойстве Port и неявным образом в свойстве Service.
Если определены оба значения, то в этом случае используется имя службы.

   
После того, как заданы эти значения, можно открывать соединение. Для этого нужно вызвать метод Open. Если вы хотите, чтобы соединение устанавливалось автоматически,
при загрузке программы, тогда в свойстве Active вам нужно задать значение True.

   
После установления соединения вам может потребоваться информация о нем. Эти данные находятся в свойствах объекта TClientWinSoket, a именно в составном свойстве Socket.
Здесь вы можете найти IP-адреса и порты обоих конечных точек соединения, а в свойстве SocketHandle, в частности, вы найдете дескриптор сокета. Это значение может
вам понадобиться, если вы будете использовать вызовы API-функций сокетов Windows.

   
Со стороны клиента соединение завершается после вызова метода Close. Соединение может быть закрыто и сервером, в этом случае в клиентском
сокете будет инициироваться событие OnDisconnect.

   
На следующем шаге мы рассмотрим серверные сокеты.



Вы можете оставить комментарий, или Трекбэк с вашего сайта.

Оставить комментарий