Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АрхитектураБиологияГеографияДругоеИностранные языки
ИнформатикаИсторияКультураЛитератураМатематика
МедицинаМеханикаОбразованиеОхрана трудаПедагогика
ПолитикаПравоПрограммированиеПсихологияРелигия
СоциологияСпортСтроительствоФизикаФилософия
ФинансыХимияЭкологияЭкономикаЭлектроника

Приложение 1. Алгоритм программы на языке SDL.

Введение | Задание на курсовое проектирование | Передача различных видов трафика | Передача коротких текстовых сообщений |


Читайте также:
  1. A. Указание на доказательства, собственно указание в исковом заявлении, приложение к исковому заявлению.
  2. Cinematheque Jean Marie Boursicot» «Ночь пожирателей рекламы» Рекламное агентство ТВИН МЕДИА является обладателем прав на показ программы в России и странах СНГ.
  3. Gramadach 15.1 Стативы в ирландском языке
  4. H) С приложением документов, подтверждающих возражения.
  5. II. Основные цели и задачи Программы с указанием сроков и этапов ее реализации, а также целевые индикаторы и показатели, отражающие ход ее выполнения
  6. III. Мероприятия Программы
  7. III. Мероприятия Программы

 
 

 


Приложение 2. Листинг программы.

unit Unit1;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls, ScktComp, ComCtrls, ExtCtrls;

type

TForm1 = class(TForm)

ClientSocket1: TClientSocket;

ServerSocket1: TServerSocket;

Button1: TButton;

Label1: TLabel;

Timer1: TTimer;

Memo1: TMemo;

Memo2: TMemo;

Label2: TLabel;

Button3: TButton;

Edit1: TEdit;

Button2: TButton;

Edit2: TEdit;

Edit3: TEdit;

Button4: TButton;

procedure Button1Click(Sender: TObject);

procedure Button2Click(Sender: TObject);

procedure OnClientRead(Sender: TObject; Socket: TCustomWinSocket);

procedure Button4Click(Sender: TObject);

procedure ClientSocket1Read(Sender: TObject; Socket:

TCustomWinSocket);

procedure Timer1Timer(Sender: TObject);

procedure ServerSocket1Accept(Sender: TObject;

Socket: TCustomWinSocket);

procedure OnListen(Sender: TObject; Socket: TCustomWinSocket);

procedure OnClientConnect(Sender: TObject; Socket: TCustomWinSocket);

procedure OnClientWrite(Sender: TObject; Socket: TCustomWinSocket);

procedure OnGetSocket1(Sender: TObject; Socket: Integer;

var ClientSocket: TServerClientWinSocket);

procedure OnGetThread(Sender: TObject;

ClientSocket: TServerClientWinSocket;

var SocketThread: TServerClientThread);

procedure OnThreadEnd(Sender: TObject; Thread: TServerClientThread);

procedure OnThreadStart(Sender: TObject; Thread: TServerClientThread);

procedure Button3Click(Sender: TObject);

procedure ClientSocket1Connect(Sender: TObject;

Socket: TCustomWinSocket);

procedure ClientSocket1Write(Sender: TObject;

Socket: TCustomWinSocket);

procedure FormCreate(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

 

 

var

Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);

begin

ServerSocket1.Port:=3110; //установка порта

{ вставляет строку в массив в указанную позицию}

Memo2.Lines.Insert(0, 'Server starting');

ServerSocket1.Open;

end;

procedure TForm1.Button2Click(Sender: TObject);

begin

ClientSocket1.Port:=3110;

ClientSocket1.Address:=(Edit2.Text); // локальный адрес компьютера

ClientSocket1.Active:=True;

end;

procedure TForm1.OnClientRead(Sender: TObject; Socket: TCustomWinSocket);

begin

{От клиента получаем сообщение - выводим его в Memo1}

Memo2.Lines.Insert(0, 'Сообщение, полученное от клиента');

Memo1.Lines.Insert(0, '> ' + Socket.ReceiveText);

end;

procedure TForm1.Button4Click(Sender: TObject);

begin

ServerSocket1.Socket.Connections[1].SendText(Edit3.Text+ '...'+Label1.Caption+'< ' + Label2.Caption);

Memo1.Lines.Insert(0, '< ' + Edit3.Text+ '...'+Label1.Caption);

Memo1.Lines.Insert(0, '< ' + Label2.Caption);

end;

procedure TForm1.ClientSocket1Read(Sender: TObject;

Socket: TCustomWinSocket);

begin

{Добавляем новое сообщение от сервера в список}

ShowMessage(Socket.ReceiveText);

end;

procedure TForm1.Timer1Timer(Sender: TObject);

begin

Label1.Caption:=timetostr (time)

end;

procedure TForm1.ServerSocket1Accept(Sender: TObject;

Socket: TCustomWinSocket);

begin

{Здесь сервер принимает клиента}

Memo2.Lines.Insert(0, 'Подключение клиента принимаются');

end;

procedure TForm1.OnListen(Sender: TObject; Socket: TCustomWinSocket);

begin

{Здесь сервер "прослушивает" сокет на наличие клиентов}

Memo2.Lines.Insert(0, 'Прослушивает порт ' + IntToStr(ServerSocket1.Port));

end;

procedure TForm1.OnClientConnect(Sender: TObject;

Socket: TCustomWinSocket);

begin

{Здесь клиент подсоединяется}

Memo2.Lines.Insert(0, 'Клиент подключен');

end;

procedure TForm1.OnClientWrite(Sender: TObject; Socket: TCustomWinSocket);

begin

{Теперь можно слать данные в сокет}

Memo2.Lines.Insert(0,'Теперь можете писать в сокет');

end;

procedure TForm1.OnGetSocket1(Sender: TObject; Socket: Integer;

var ClientSocket: TServerClientWinSocket);

begin

Memo2.Lines.Insert(0, 'Получить сокет');

end;

procedure TForm1.OnGetThread(Sender: TObject;

ClientSocket: TServerClientWinSocket;

var SocketThread: TServerClientThread);

begin

Memo2.Lines.Insert(0, 'Get Thread');

end;

procedure TForm1.OnThreadEnd(Sender: TObject; Thread: TServerClientThread);

begin

Memo2.Lines.Insert(0, 'Thread end');

end;

procedure TForm1.OnThreadStart(Sender: TObject;

Thread: TServerClientThread);

begin

Memo2.Lines.Insert(0, 'Thread start');

end;

procedure TForm1.Button3Click(Sender: TObject);

begin

ClientSocket1.Socket.SendText(Edit1.Text+ '...'+Label1.Caption+ '> ' + Label2.Caption);

end;

procedure TForm1.ClientSocket1Connect(Sender: TObject;

Socket: TCustomWinSocket);

begin

Memo2.Lines.Insert(0, 'Клиент подключен');

end;

procedure TForm1.ClientSocket1Write(Sender: TObject;

Socket: TCustomWinSocket);

begin

Memo2.Lines.Insert(0,'Теперь можете писать в сокет');

end;

procedure TForm1.FormCreate(Sender: TObject);

begin

end;

end.


Дата добавления: 2015-08-17; просмотров: 55 | Нарушение авторских прав


<== предыдущая страница | следующая страница ==>
ПЕРЕДАЧА КОРОТКИХ ТЕКСТОВЫХ СООБЩЕНИЙ.| Результат тестирования .

mybiblioteka.su - 2015-2024 год. (0.009 сек.)