Отправляет email-рассылки с помощью сервиса Sendsay

Уроки по C++ Builder

  Все выпуски  

Уроки по C++ Builder


Информационный Канал Subscribe.Ru

C++ Builder. VCL. Уроки с сайта http://progs.biz

Рассылка №14

C++ Builder. VCL. Урок 21. Работаем с сетью. Сервер (класс TServerSocket).

Полные версии уроков (с картинками) можно найти по адресам:
Урок 21. Работаем с сетью. Сервер (класс TServerSocket).

А. Я. Архангельский. C++Builder 6. Справочное пособие. Книга 2. Классы и компоненты.
А. Я. Архангельский. C++Builder 6. Справочное пособие. Книга 2. Классы и компоненты.
Заказать на Озоне
Рассылки сайта progs.biz через subscribe.ru
Новости сайта progs.biz
Краткое описание всех новых уроков и материалов на сайте progs.biz. Основные направления - языки программирования (Visual C++, Visual Basic.NET, C#, Delphi, Java), WEB-дизайн (HTML, PHP, PhotoShop, SSI), базы данных.

C++ Builder. Урок 21. Работаем с сетью. Сервер (класс TServerSocket)

Приступаем к написанию сервера. Для этого создайте новый проект, на форме разместрите edit (в нем будут появляется отправленные с клиента данные), кнопку (по ней сервер начнет слушать сеть) и компонент ServerSocket с вкладки Internet.

Начинаем менять свойства. Для кнопки свойство Caption измените на "Слушать", свойство Text для edit'а установите в "" (пустую строку), свойство Port для серверного сокета установите в 2000 (как и у клиентского сокета).

Теперь добавим код для кнопки. Вот он:

void __fastcall TForm1::Button1Click(TObject *Sender)
{
  ServerSocket1->Active=true;
}

Тут мы просто включаем наш сокет и он начинает слушать сеть на 2000 порту, ожидая, когда к нему подсоединится клиент.

Осталось добавить коды для сокеты - а именно код, выполняющийся при установке соединения и код, выполняющийся при получении данных от клиента. Для этого переходим в Инспекторе объектов на вкдадку Events при выбранном сокете ServerSocket1 и создаем двойным щелчком заготовки кода для OnClientConnect (этот код будет выполнятся при подсоединении клиента) и OnClientRead (этот код быдет выполнятся при получении данных от клиента). В заготовках напишите следующий код:

void __fastcall TForm1::ServerSocket1ClientConnect(TObject *Sender,
      TCustomWinSocket *Socket)
{
  Form1->Caption="Клиент подсоединился";
}

Тут мы просто показываем в заголовке формы, что клиент подсоединится.

void __fastcall TForm1::ServerSocket1ClientRead(TObject *Sender,
      TCustomWinSocket *Socket)
{
  Edit1->Text=Socket->ReceiveText();
}

А тут мы полученные от клиента данные отправляем в edit.

С написанием сервера все. Теперь испытываем наше творение. Запускаем сервер, нажимаем в нем на кнопку "Слушать". Далее запускаем клиента, нажимаем в нем на кнопку "Подсоединится". В сервере заголовок формы поменяется на "Клиент подсоединился". Теперь в клиенте печатаем что-нибудь в edit'е и нажимаем на кнопку "Отправить". То, что мы отправили, покажется в edit'е на сервере.

Наверх

Copyright Алексеев Игорь, 2002-2003
Copyright Шмидт Отто, 2002-2003
Copyright сайт progs.biz, 2002-2003
Распространение материалов без разрешения владельцев авторских прав запрещено.


http://subscribe.ru/
E-mail: ask@subscribe.ru
Отписаться
Убрать рекламу

В избранное