Читайте также:
|
|
Завдання:
1.Дослідити роботу програми для обміну текстовими повідомленнями через мережу.
2.Описати документацію на типи даних, структури та функції, які використовуються в програмі.
3.За завданням викладача розробити власний проект на основі існуючого.
Послідовність виконання:
1 Помістіть на форму програми-сервера компоненти TIdTCPServer, TMemo і заповніть код:
//конструктор форми
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
IdTCPServer1->DefaultPort=8090;//задати порт
IdTCPServer1->Active=true;//зробити сервер активним
Memo1->Lines->Clear();//очистити Memo1
}
//обробник події OnExecute компонента IdTCPServer1
//AThread - потік, який використовується для клієнтських з'єднань
void __fastcall TForm1::IdTCPServer1Execute(TIdPeerThread *AThread)
{
try
{//добавити в Memo1 отриманий рядок
Memo1->Lines->Add(AThread->Connection->ReadLn());
//добавити в Memo1 віддалену IP адресу
Memo1->Lines->Add(AThread->Connection->Binding->PeerIP);
//надіслати локальну IP адресу
AThread->Connection->WriteLn(AThread->Connection->Binding->IP);
}
catch(...)
{//при помилці надіслати "помилка"
AThread->Connection->WriteLn("помилка");
}
AThread->Connection->Disconnect();//роз'єднати з'єднання
}
3 Для можливості роботи програми-сервера на комп’ютері без середовища Borland C++ Builder 6 задайте опції проекту: Project/Options.../Packages/зніміть прапорець Build with runtime packages. На цей комп’ютер також необхідно скопіювати файли: borlndmm.dll і cc3260mt.dll.
4 Скомпілюйте програму-сервер.
5 Помістіть на форму програми-клієнта компоненти TEdit (2 штуки), TButton, TIdTCPClient, і заповніть код:
//конструктор форми
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
Edit1->Text="127.0.0.1";//локальний адрес
}
//обробник події OnClick
void __fastcall TForm1::Button1Click(TObject *Sender)
{
IdTCPClient1->Host=Edit1->Text;//вказати адресу віддаленого комп'ютера
IdTCPClient1->Port=8090;//вказати порт
try
{
IdTCPClient1->Connect();//з'єднати з сервером
IdTCPClient1->WriteLn(Edit2->Text);//надіслати рядок
Edit2->Text = IdTCPClient1->ReadLn();//отримати рядок
}
catch(...)
{//при помилці вивести повідомлення
ShowMessage("Помилка з'єднання");
}
IdTCPClient1->Disconnect();//роз'єднати з'єднання
}
6 Скомпілюйте програму-клієнт.
7 Скопіюйте програму-сервер та файли borlndmm.dll і cc3260mt.dll на віддалений комп’ютер з адресою, наприклад, 192.168.1.5. Виконайте програму-сервер на віддаленій машині і програму клієнт на локальній. Введіть в Edit1 клієнта адресу віддаленого комп’ютера і передайте йому будь-який текст. Для тестування програм без мережі на локальній машині слід вводити адресу 127.0.0.1.
Дата добавления: 2015-07-11; просмотров: 107 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Тема: Створення та використання DLL | | | Додання елементів в список вибіркового керування доступом (DACL) файла або каталога |