Tclientsocket & tserversocket

Головна »Статті з програмування» Borland C ++ Builder - Все статті »

Обговорити на форумі

У C ++ Builder 6 для передачі будь-якої інформації з мережі зручніше за все використовувати компоненти закладки Internet: TClientSocket і TServerSocket.

Щоб краще розібратися в роботі цих компонентів я пропоную написати простенький мережевий чат, на прикладі якого можна буде легко побачити компоненти в дії.

Для початку створимо новий проект (File-> New-> Application), помістимо на форму компоненти:

TClientSocket і TServerSocket. щоб наша програма могла бути і клієнтом і сервером (не одночасно звичайно;)).

Далі розмістимо компонент TMemo (закладка Standart) - у ньому як ви здогадалися буде відображатися текст чату.

Наступним на форму потрібно кинути компонент TEdit (Standart) - у нього ми будемо писати текcт, який потрібно відправити співрозмовникові.

Ну і звичайно важко обійтися без кнопки відправити - кидаємо на форму TButton. Крім того що вже є на формі, нам ще знадобиться три кнопки і два едіта (TEdit) (їх призначення описується по ходу звернення до ним).

Тепер змінюємо властивості:

Прибираємо текст у всіх Едіт. Властивість Memo1-> ReadOnly = true.

У властивості ClientSocket1-> Port і ServertSocket1-> Port - повинні стояти однакові значення, щоб Сервер і Клієнт прослуховували і працювали на один порт. Число можна вибрати будь-який (1024 наприклад).

Кнопку "Відключитися" спочатку потрібно зробити недоступною (Enabled = false) так як спочатку отсоеденяться нам немає від кого.

Далі опишемо обробники подій для кнопок "Створити", "Помилка з'єднання", "Відключити".

Кнопка "Створити" - активізує сервер. Він починає прослуховувати порт на коннект з боку клієнта.

Так наша програма стала сервером.

Давайте опишемо клієнта! (Кнопка "Помилка з'єднання")

У Edit3-> Text впишіть 127.0.0.1 - передбачається що тестуватися буде на одному комп'ютері (що б інших не морочитися :)

Ось Ви і написали той мінімум який треба для освоєння компонентів.

Але хто хоче зупинятися. А чат доробити. Правильно пишемо далі:

Далі будемо описувати властивості компонентів Клієнта і Сервера OnConnect (коли приєднався).

Це коли ви сервер і до Вас приєдналися, на Мемо з'явиться напис.

Для клієнта майже так само.

Зрозуміло, так. Відмінно. далі залишається тільки розповісти Вам навіщо Edit2 на формі і описати кнопку "Відправити".

Отже, Едіт2 нам потрібен для Вашого ника. Адже який чат без ника.

Тепер найголовніше - опис кнопки "Відправити.

Тепер розберемося з цією купою коду.

Якщо ми сервер, то посилаємо нашу рядок першого в списку клієнтові (чат розщітан на двох). інакше.

Надсилаємо рядок сервера.

Незалежно від того хто ми (клієнт-сервер)

Також треба описати прийом інформації та занесення її в Мемо1. Робиться це обробником події OnRead у TClientSocket і TserverSocket.

Ось вроди б і все. З TClientSocket і TserverSocket розібралися. а кого зацікавила тема чату, заходьте в розділ "Мої програми" І качайте дороблену мною, з великою кількістю налаштувань програму разом з вихідними кодами.

Надіслав: Victor
"Число можна вибрати будь-який (1024 наприклад)" це не зовсім вірно, можна вказати тільки чілса більше 1024, т.к до 1024 всі порти вже зайняті.

Форум Програміста
Новини
Огляди
магазин Програміста
Каталог посилань
Пошук
Додати файл
Зворотній зв'язок

Казино вулкан автомати магія грошей грати безкоштовно igrovoi-club-vulkan.com.