Главная » Файлы » Delphi » Статьи

Введение В Socket(Сокет). Часть 1.
25.04.2014, 17:27
Что такое сокеты(Socket)? Сокеты-интерфейс для обеспечения обмена данными между сервером и клиентами. Начнем мы с самого простого(по-моему мнению) ClientSocket и ServerSocket.

Установка: Component->Instal Packages->Add->в папке вашей Delphi открыть папку «bin» и выбрать файл dclsockets70.bpl(в XE6 
dclsockets200.bpl)->OK 
Компоненты появятся на вкладке Internet.

Свойства ServerSocket:
ServerSocket  
Свойства Описание Значения
Active Показывает работает сервер или нет True, False
Port Должен быть одинаковым для клиента и сервера 1025-65535



(1-1024) заняты системой
ServerType Тип сервера stNonBlocking - синхронная работа с клиентскими сокетами. При таком типе сервера Вы можете работать с клиентами через события OnClientRead и OnClientWritestThreadBlocking - асинхронный тип. Для каждого клиентского сокетного канала создается отдельный процесс (Поток).
Service Cтрока, определяющая службу ftp, http, pop
ThreadCacheSize Kоличество клиентских процессов (потоков), которые будут кэшироваться сервером. По-умолчанию 10

























 
События возникающие у ServerSocket:
ServerSocket  
События Описание
OnClientConnect возникает, когда клиент установил сокетное соединение и ждет ответа сервера (OnAccept)
OnClientDisconnect возникает, когда клиент отсоединился от сокетного канала
OnClientError возникает, когда текущая операция завершилась неудачно, т.е. произошла ошибка
OnClientRead возникает, когда клиент передал серверу какие-либо данные.
OnClientWrite возникает, когда сервер может отправлять данные клиенту по сокету;
OnGetSocket в обработчике этого события вы можете отредактировать параметр ClientSocket
OnGetThread в обработчике этого события вы можете определить уникальный процесс (Поток)
OnThreadStart возникает, когда процесс(Поток) запускается
OnThreadEnd возникает, когда процесс(Поток) останавливается
OnAccept возникает, когда сервер принимает клиента или отказывает ему в соединении;
OnListen возникает, когда сервер переходит в режим ожидания подсоединения клиентов


Общение между клиентом и сервером определяется комбинацией слов(прим ReceiveText)
Send Text
Receive Buffer
  Stream

Дополнительные методы и свойства(ServerSocket.Socket.<Параметр из таблицы ниже>)
ActiveConnections Количество подключенных клиентов
ActiveThreads Количество работающих процессов
Connections Массив подключенных клиентов
IdleThreads Количество свободных процессов.
LocalAddress Локальный IP-адрес
LocalHost Локальный хост
LocalPort Локальный IP-порт
RemoteAddress Удаленный IP-адрес
RemoteHost Удаленный хост
RemotePort Удаленный IP-порт
Lock Блокировка сокета
UnLock Разблокировка сокета


Рассматривать ClientSocket особого смысла нет, т.к. у него подобные свойства и события, в свойствах есть поля Host и Adress, что отвечает за имя пк-сервера и IP соответственно, событий немногим меньше.
Категория: Статьи | Добавил: TAdm | Теги: XE3, сокет, rad studio, Studio, Rad, Socket, XE2, xe, свойства, Delphi
Просмотров: 2096 | Загрузок: 0 | Рейтинг: 0.0/0
Всего комментариев: 0
ComForm">
avatar