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. В процессе работы сервера вы можете наблюдать какими данными обмениваются клиенты с сервером.

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


 

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

62747. Изменение прилагательных по родам 1.74 MB
  Цели: формировать представления учащихся об основных грамматических признаках имен прилагательных роде; формировать представления о том что род прилагательного совпадает с родом существительного которому данное прилагательное относится...
62748. Закладка 17.43 KB
  Оборудования для учителя: этапы изготовления закладки. Возможно вы удивитесь но история закладки довольно древняя. Древнеегипетские писцы уже придумали прототип закладки они приклеивали на свитки кусочки папируса.
62749. Топливная промышленность 20 KB
  Учащиеся высказывают собственное мнение. Учащиеся самостоятельно составляют план и сопоставляют с планом на слайде. Своими вопросами учитель добивается того чтобы учащиеся смогли схематично составить структуру.
62750. Работа с бумагой. Складывание «Рыбки» 18.68 KB
  Цель урока: познакомить с искусством складывания бумаги оригами на примере выполнения рыбки. Задачи: а образовательные: формировать навыки сгибания складывания бумаги дать понятие оригами...
62751. Аппликация ракета 17.34 KB
  У ракеты есть водитель Невесомости любитель. Детали ракеты лучше делать яркого цвета. Части ракеты лучше приклеивать на картон темного цвета. Сначала приклеим основную часть потом треугольникэто будет верх нашей ракеты а потом крылья ракеты и иллюминаторы.
62753. Конструирование и плетение из бумаги 12.33 KB
  Учитель объясняет как правильно выполнить корзинку Дети слушают. Учитель параллельно и показывает это всё на кавадрате. На доске висит инструкционная карта Учитель ходит помогает если у когото не получается.