Читайте также:
|
|
![]() |
Приложение 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 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
ПЕРЕДАЧА КОРОТКИХ ТЕКСТОВЫХ СООБЩЕНИЙ. | | | Результат тестирования . |