您的位置:首页 > 编程语言 > Delphi

Delphi中远程控制的实现(二)

2006-03-23 10:22 459 查看
二、被控方的程序(Server端):

ServerSocket1的Port设为:2058。程序界面如下:



源程序如下:

unit main;

interface

uses

Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls, ScktComp;

type

TMainForm = class(TForm)

Panel1: TPanel;

Panel2: TPanel;

Panel3: TPanel;

Memo1: TMemo;

Button1: TButton;

Label1: TLabel;

ServerSocket1: TServerSocket;

procedure ServerSocket1Listen(Sender: TObject;

Socket: TCustomWinSocket);

procedure ServerSocket1ClientConnect(Sender: TObject;

Socket: TCustomWinSocket);

procedure ServerSocket1ClientDisconnect(Sender: TObject;

Socket: TCustomWinSocket);

procedure ServerSocket1ClientRead(Sender: TObject;

Socket: TCustomWinSocket);

procedure Button1Click(Sender: TObject);

procedure FormClose(Sender: TObject; var Action: TCloseAction);

private

procedure UpdateState;//更新当前的连接信息

{ Private declarations }

public

{ Public declarations }

end;

var

MainForm: TMainForm;

implementation

{$R *.DFM}

procedure TMainForm.UpdateState;

begin

Label1.Caption:='在线人数为:'+IntToStr(ServerSocket1.Socket.ActiveConnections);

end;

procedure TMainForm.ServerSocket1Listen(Sender: TObject;

Socket: TCustomWinSocket);

begin

UpdateState;

end;

procedure TMainForm.ServerSocket1ClientConnect(Sender: TObject;

Socket: TCustomWinSocket);

begin

UpdateState;

end;

procedure TMainForm.ServerSocket1ClientDisconnect(Sender: TObject;

Socket: TCustomWinSocket);

begin

UpdateState;
end;

procedure TMainForm.ServerSocket1ClientRead(Sender: TObject;

Socket: TCustomWinSocket);

var

s:string;

begin

s:=Socket.ReceiveText;

Memo1.Lines.Add('从客户端接收的信息为:'+s);

Socket.SendText('接收信息成功!');

end;

procedure TMainForm.Button1Click(Sender: TObject);

begin

if Button1.Caption='启动' then

begin

Button1.Caption:='停止';

ServerSocket1.Active:=False;

ServerSocket1.Active:=True;

end else

begin

Button1.Caption:='启动';

ServerSocket1.Active:=False;

end;

end;

procedure TMainForm.FormClose(Sender: TObject; var Action: TCloseAction);

begin

if ServerSocket1.Active then

ServerSocket1.Active:=False;

end;

end.


  这样,程序就编写成功。运行一下看看自己的劳动成果吧!先运行Server端的程序,然后再运行Client端的程序。界面如下:



  以上程序在Delphi 5.0和 window 98下运行通过。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: