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

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


 

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

36490. Розподіли Гаусса і Пуассона як частинні випадки біноміального розподілу 210.63 KB
  Для кожного тіла можна записати термічне рівняння стану та його внутрішню енергію як функцію параметрів які визначають його стан наприклад . Як називається це рівняння Це калоричне рівняння. Обидва ці рівняння не можуть бути отримані методами формальної термодинаміки. Якщо відомо відоме термічне рівняння стану то теорема Карно дозволяє в загальному вигляді розвязати питання залежності внутрішньої енергії від обєму.
36491. Середня довжина вільного пробігу молекул, її залежність від тиску і температури 242.26 KB
  Середня довжина вільного пробігу молекул її залежність від тиску і температури. Розглянемо молекулу яка рухається із деякою середньою швидкістю і при зіткненнях не змінює швидкості. Будемо вважати що рухається тільки одна молекула за якою ми спостерігаємо а решта нерухомі. Виберемо проміжок часу рівний одній секунді тобто будемо розглядати шлях молекули за одиницю часу.
36492. Розподіл середньої кінетичної енергії за ступенями вільності для обертального руху 189.71 KB
  Кількість молекул всі вони незалежні. Кожна молекула характеризується у просторі кругових частот величинами . Імовірність потрапити молекулам у елементарний обєм має вигляд . Знайдемо середню кінетичну енергію обертального руху виділеної молекули що припадає на один ступінь вільності при обертанні навколо осі навіщо нам чіплятись до осі вісь нічим не гірша.
36493. Термічна ефузія 238 KB
  Кількість зіткнень з нею за одиницю часу становить за законом косинусу . Повна кількість молекул у такому обємі становить . Цей простір буде також необмежений тому ми можемо вважати кількість комірок у ньому нескінченною. Скористаємось формулою Больцмана де у нашому випадку у знаменнику немає обмеження оскільки кількість комірок є нескінченною .
36494. Основи вакуумної техніки 120.78 KB
  Мірою кількості газу що переміщується у системі є величина яка згідно із рівнянням стану ідеального газу може бути записана як . Вакуумники люди консервативні тому міра газу визначається у несистемних одиницях : лмм рт. або лтор а всі розрахунки кількості газу ми будемо вести на одиницю часу. Швидкістю відкачки насосу будемо називати такий обєм газу який входить за одиницю часу до насосу і виміряний при тискові який має місце біля його входу .
36495. Термічна дифузія 233.6 KB
  Перший доданок являє собою потік взаємної дифузії молекул 1 газу а другий термодифузійний потік. На рисунку вихідні сталі відносні концентрації змінились і набули вигляду концентрація молекул першого газу біля першої пластини; концентрація молекул першого газу біля другої пластини; концентрація молекул другого газу біля першої пластини; концентрація молекул другого газу біля другої пластини. В результаті такої конвекції нагріта частина газу рухається відносно холодної створюючи провиток. Очевидно що температура газу поблизу проволоки...
36496. Взаємна дифузія 175.31 KB
  Згідно із основним рівнянням переносу можна записати ; . Згідно із рівнянням Фіка яке справедливо і для суміші газів коефіцієнт дифузії першого газу у суміші двох газів . Рівняння політропного процесу робота при цьому процесі Ізотермічний і адіабатний процеси це процеси ідеалізовані. Запишемо для нього рівняння.
36497. Квантовий підхід Дебая-Борна 315.41 KB
  Хоча швидкості молекул змінюються у стані термодинамічної рівноваги властивості газу залишаються сталими. Насправді закон про статистичний закон розподілу молекул за швидкостями можна сформулювати так : скільки молекул газу або яка їх частка мають швидкості значення яких лежать у деякому інтервалі наближеному до заданої швидкості Зрідження газів і методи одержання низьких температур. Рівняння ВандерВаальса показує що будь який газ може бути переведеним в рідкий стан але необхідною умовою для цього є попереднє охолодження газу до...
36498. Рівняння Ван-дер-Ваальса 238.96 KB
  Дія відштовхування зводиться до того що молекула не допускає проникнення у свій обєм інших молекул. Отже сили відштовхування враховуються через деякий ефективний обєм молекул. Якщо газ у нас не дуже стиснутий то взаємодії між молекулами будуть лише парні участь третьої четвертої та інших молекул малоймовірна. Припустимо що у посудині із обємом знаходяться лише дві однакові молекули.