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

本文介绍了一个使用Delphi实现的简单网络通信程序。该程序包括Server端和Client端,Server端监听2058端口,能够接收客户端消息并反馈确认信息。
二、被控方的程序(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下运行通过。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值