20985

ВЗАИМОДЕЙСТВИЕ ПРИКЛАДНЫХ ПРОГРАММ С ПОМОЩЬЮ ТРАНСПОРТНЫХ ПРОТОКОЛОВ СЕТИ ИНТЕРНЕТ

Лабораторная работа

Информатика, кибернетика и программирование

dfm AnsiString NIK_server; TForm1 Form1; __fastcall TForm1::TForm1TComponent Owner : TFormOwner { ServerSocket1 Active=true; Memo1 Clear; Memo2 Clear; } void __fastcall TForm1::ServerSocket1ClientConnectTObject Sender TCustomWinSocket Socket { Memo1 Lines Add Клиент присоединился ; } ...

Русский

2013-08-02

74 KB

8 чел.

ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ

ГОСУДАРСТВЕННОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ

УФИМСКИЙ ГОСУДАРСТВЕННЫЙ АВИАЦИОННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ

ЛАБОРАТОРНАЯ РАБОТА №1

ПО ДИСЦИПЛИНЕ «СЕТИ ЭВМ»

ТЕМА РАБОТЫ «ВЗАИМОДЕЙСТВИЕ ПРИКЛАДНЫХ ПРОГРАММ С ПОМОЩЬЮ ТРАНСПОРТНЫХ ПРОТОКОЛОВ СЕТИ ИНТЕРНЕТ»

 

 

Выполнили

студент группы ИВТПО-431т

Рахмангулов А.М.

Салямов Д.И.

Проверила

Муслимова Г. Р.

Уфа 2011

ЦЕЛЬ РАБОТЫ:

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

ПОСТАНОВКА ЗАДАЧИ

Написать клиент-серверную программу, работающую по протоколу TCP  с аналогичными программами по указанному преподавателем порту и реализующую простейший chat с выбираемыми собеседниками. Протокол о совершаемых действиях должен выводиться на экран.

 

ОБОСНОВАНИЕ ВЫБОРА СРЕДЫ ПРОГРАММИРОВАНИЯ

Для разработки данного приложения был выбран язык Borland C++ Builder 6. C++ Builder позволяет быструю визуальную разработку приложений на языке C++. Профессиональные средства языка C++ интегрированы в визуальную среду разработки. Интегрированная среда разработки объединяет редактор форм, инспектор объектов, палитру компонент, администратор проекта и полностью интегрированные редактор кода и отладчик – инструменты быстрой разработки программных приложений, обеспечивающие полный контроль над кодом и ресурсами. C++Builder воплощает важнейшие аспекты объектно-ориентированного программирования в удобном для пользования инструменте визуального проектирования, что лучше всего подходит для реализации и отображения результатов работы программы.

РУКОВОДСТВО ПРОГРАММИСТА

Листинг сервера

#include <vcl.h>

#pragma hdrstop

#include "Unit1.h"

//---------------------------------------------------------------------------

#pragma package(smart_init)

#pragma resource "*.dfm"

AnsiString NIK_server;

TForm1 *Form1;

//---------------------------------------------------------------------------

__fastcall TForm1::TForm1(TComponent* Owner)

       : TForm(Owner)

{

ServerSocket1->Active=true;

Memo1->Clear();

Memo2->Clear();

}

//---------------------------------------------------------------------------

void __fastcall TForm1::ServerSocket1ClientConnect(TObject *Sender,

     TCustomWinSocket *Socket)

{

Memo1->Lines->Add("Клиент присоединился");

}

//---------------------------------------------------------------------------

void __fastcall TForm1::ServerSocket1ClientRead(TObject *Sender,

     TCustomWinSocket *Socket)

{

Memo1->Lines->Add(Socket->ReceiveText());

AnsiString S=Memo1->Lines->Text;

}

//---------------------------------------------------------------------------

void __fastcall TForm1::Button2Click(TObject *Sender)

{

ServerSocket1->Socket->Connections[0]->SendText(Memo1->Text);

}

//---------------------------------------------------------------------------

void __fastcall TForm1::SpeedButton1Click(TObject *Sender)

{

NIK_server=Edit1->Text;

Memo1->Lines->Add(NIK_server+": "+Memo2->Text);

for(int i=0;i<=ServerSocket1->Socket->Connected;i++)

{

       ServerSocket1->Socket->Connections[i]->SendText(

        NIK_server+": "+Memo2->Lines->Strings[Memo2->Lines->Count - 1]);;

}

Memo2->Clear();

}

Листинг клиента

//---------------------------------------------------------------------------

#include <vcl.h>

#pragma hdrstop

#include "Unit1.h"

//---------------------------------------------------------------------------

#pragma package(smart_init)

#pragma resource "*.dfm"

AnsiString Adress,NIK_client;

TForm1 *Form1;

//---------------------------------------------------------------------------

__fastcall TForm1::TForm1(TComponent* Owner)

       : TForm(Owner)

{

Memo1->Clear();

Memo2->Clear();

}

//---------------------------------------------------------------------------

void __fastcall TForm1::Button1Click(TObject *Sender)

{

ClientSocket1->Active=true;

}

//---------------------------------------------------------------------------

void __fastcall TForm1::Button2Click(TObject *Sender)

{

ClientSocket1->Socket->SendText(Memo1->Text);

}

//---------------------------------------------------------------------------

void __fastcall TForm1::ClientSocket1Connect(TObject *Sender,

     TCustomWinSocket *Socket)

{

Memo1->Lines->Add("Клиент присоединился к серверу");

}

//---------------------------------------------------------------------------

void __fastcall TForm1::ClientSocket1Read(TObject *Sender,

     TCustomWinSocket *Socket)

{

AnsiString Rtext ;

Rtext = ClientSocket1->Socket->ReceiveText() ;

Memo1->Lines->Add(Rtext);

}

//---------------------------------------------------------------------------

void __fastcall TForm1::SpeedButton1Click(TObject *Sender)

{

NIK_client=Edit2->Text;

Memo1->Lines->Add(NIK_client+": "+Memo2->Text);

ClientSocket1->Socket->SendText(NIK_client+": "+Memo2->Lines->Strings[Memo2->Lines->Count - 1]);

Memo2->Clear();

}

//---------------------------------------------------------------------------

void __fastcall TForm1::SpeedButton2Click(TObject *Sender)

{

 if (Edit1->Text=="")

    {

       if (InputQuery("Соединиться...", "IP-адрес:", Adress));

       ClientSocket1->Address=Adress;

    }

 ClientSocket1->Address=Edit1->Text;

 ClientSocket1->Active=true;

 Edit1->Text=Adress;

}

РУКОВОДСТВО ПОЛЬЗОВАТЕЛЯ

Работа с клиентом

После запуска клиента введите ip адрес, ник, порт сервера в программе указан автоматически 2000.  В случае успешного соединения, вы увидите сообщение о том, что соединение удалось, клиент присоседился к серверу.

Работа с сервером

После запуска сервера введите ip адрес, ник, порт сервера в программе указан авмотически 2000. В процессе работы сервера вы можете наблюдать какими данными обмениваются клиенты с сервером.

Для прекращения работы сервера, закройте окно программы.


 

А также другие работы, которые могут Вас заинтересовать

14775. Жаппас Қаламбаев (1909-1970) мектебінің қобызда ойнау әдіс-тәсілдері, әуендік құрлыс өзгешілігі 46.75 KB
  Жаппас Қаламбаев 1909-1970 мектебінің қобызда ойнау әдістәсілдері әуендік құрлыс өзгешілігі. Қаратау күйшілік мектебі дегенде домбырашылық пен қобызшылық өнер қатар қанат жайған Созақ жері бірден ауызға оралады. Күйшілік дәстүрге келсек – Қаратау күйлері Арқа...
14776. Жүсіпбек Елебеков 109.5 KB
  Жүсіпбек Елебеков Елебеков Жүсіпбек 1904-1977 әнші тенор. Қазақстанның халық артисі. Қарағанды облысында туған. Елебеков бес жасынан ән айтуды бастаған. Ән өнеріне оны ағасы Ж. Балғабайұлы баулиды. Кейін Ғ. Айтбаевтан Қ. Байжановтан Ә. Қашаубаевтан дәріс алады. Е
14777. Күләш Бәйсейітова 149 KB
  Күләш Бәйсейітова Байсеітова Күләш әнші лирико колоратуралық сопрано. СССР халық артисі ССРО Мемлекеттік сыйлығының лауреаты. Алматыда дүниеге келген. 1925-1928 жж. Алматы педагогикалық техникумында және қазақ драма театры жанындағы музыкалық драмалық студ
14779. Қазақ халық аспаптар оркестрін шығармашылық жетілдіруді инновациялық технологиялық өркендету арқылы дамыту 51.5 KB
  Қазақ халық аспаптар оркестрін шығармашылық жетілдіруді инновациялық технологиялық өркендету арқылы дамыту Мектебіміздің қазіргі таңдағы алға қойып отырған басты да түпкілікті мақсаты оқушылардың білім білік іскерлік дағдыларын дамытумен қатар олардың бойында
14780. Қазақстан опера өнерінің негізін салушы сахна жұлдыздары 36.5 KB
  Қазақстан опера өнерінің негізін салушы сахна жұлдыздары 2004 жылы Абай атындағы Мемлекеттік Академиялық опера және балет театрының құрылғанына 70 жыл толады. Осы айтулы мереке қарсаңында €œАсыл мұра€ жобасы €œҚазақстан опера өнерінің негізін салушы сахна жұлдызда...
14781. Қазақтың ұлттық аспаптары 127 KB
  Қазақтың ұлттық аспаптары. Адырна Адырна қазақ халқының өте ерте заманнан келе жатқан көп ішекті музыка аспабының бірі. Ежелгі заманда бұл аспапты аңшылар ұстаған. Садақ атып жебе тартып аң құстарды аулаған. Әуелде адырна садақ пішінді болды. Кейін бұл аспапты бұ
14782. Қазанғап күйші 63.5 KB
  Қазанғап күйші Тілепбергенұлы Қазанғап 1854-1927 қазақтың әйгілі күйшікомпозиторы. Туыпөскен жері – арал көлінің жағасы Құланды түбегінің Ақбауыр деген жері. Топырақ бұйырған жері – сол Ақбауыр маңы Айшуақ ауылының іргесі. Шыққан тегі – Ұлы жүз құрамындағы байырғ
14783. Қорқыт- қылқобыз өнерінің негізін қалаушы 81.61 KB
  Қорқыт қылқобыз өнерінің негізін қалаушы Қорқыт есімі де XIII ғасыр бойы халықтың мұңы мен зарын қуанышы мен қайғысын үміті мен арманын баяндап үні мен сарынын сақтап келген қобыз да оның әуені де киелі. Сондықтан Қорқыт десек қобызды қобыз десек Қорқытты көз а