频道直达 - 专题 - 新闻 - 技巧 - 组网 - 开发 - 安全 - web编程 - 图像 - 操作系统 - 数据库 - 教育 - 旅游 - 健康 - 时尚 - 驱动 - 软件 - 游戏 - 多媒体 - ERP - 讨论组

用Delphi实现远程控制

来源: 作者: 出处:巧巧读书 2006-02-12 进入讨论组
下一页 1 2 

  WinSock是一组API,用于在网络上传输数据和交换信息。
虽然现在有很多工具如FTP程序可以在网络上传输数据和文件,但是通过WinSock编程有更大的灵活性,它不需要关心网络连接的细节,然而用WinSock编程却很复杂,但是在Delphi中我们并不需要直接与WinSock的API打交道,因为TClientSocket元件和TServerSocket元件(在Internet页)封装了WinSock的大部分API,使得对WinSock的访问大大简化。下面这个远程控制的例子就很清楚地说明了这个问题,它可以发送一个消息给对方,并能够使对方的电脑关闭、重新启动或重新登录。

  一、实现原理

  ---- 实行远程控制,实际上就是一个服务器程序(以下简称被控程序)和一个客户程序(以下简称主控程序):被控方即为服务器程序,它监听客户的请求,并作出处理;主控方即为客户程序,它连接上服务器后,发出自己的请求,服务器便根据自已的请求进行不同的响应。

  二、编写主控程序

  ---- 1、新建一个项目Client.dpr,并把一个TClientSocket元件放到Form上,它的属性设置如下:Port设为100(端口号可任意设置,只要求双方统一),其它属性按默认值。在窗体上添加两个TEdit:Edit1用来输入发送的字符,Edit2用来输入IP地址;添加两个TButton:Button1点击后用来连接被控机,Button2点击后用来发送字符,然后声明一个私有变量ConnectFlag,表示双方是否连接好:

   private

   ConnectFlag:Boolean;

  

  ---- 2、ClientSocket1的OnConnect事件代码如下:

   procedure TForm1.ClientSocket1Connect

  (Sender: TObject;Socket: TCustomWinSocket);

   begin

   ConnectFlag:=True; //表示连接成功

   end;

  

  ---- 3、ClientSocket1的OnError事件代码如下:

  procedure TForm1.ClientSocket1Error(Sender: TObject;

  Socket: TCustomWinSocket; ErrorEvent:

  TErrorEvent;var ErrorCode: Integer);

   begin

  Application.MessageBox(PChar(' 不能连接到IP地址

   : ' + Edit2.Text+'。'+

  #13+'可能是监听程序没有运行或网络故障!'),'

  连接错误',MB_OK+MB_ICONSTOP);

   ErrorCode := 0;

   end;  

  ---- 4、Button1的OnClick事件代码如下:

  procedure TForm1.Button1Click(Sender: TObject);

  begin

  with ClientSocket1 do begin

  if Active then begin

  Active := False;//在连接之前首先关闭

  ConnectFlag:=False; //置连接标志为假

  end;

  if Length(Edit2.Text) > 0 then begin

  Host := Edit2.Text; //指定IP地址或主机名

  Active := True;

   end;

   end;

   end;

  ---- 5、Button2的OnClick事件代码如下:

  procedure TForm1.Button2Click(Sender: TObject);

   begin

   if ConnectFlag then

  ClientSocket1.Socket.SendText(Edit1.Text)

   //如果连接成功则发送字符串

   else

  Application.MessageBox(PChar(' 没有连接到地址 :

   ' + Edit2.Text+'。'+

  #13+'检查IP地址是否存在或是否已经连接!'),'

  提示信息',MB_OK+MB_ICONSTOP);

   end;

  (未完)URL:http://www.qqread.com/delphi/d812353400.html 更多文章 更多内容请看远程桌面应用Delphi网络及通讯编程专题,或进入讨论组讨论。
下一页 1 2 
收藏此文】【 】【打印】【关闭
相关图文阅读
频道图文推荐
健 康 咨 询
时 尚 咨 询
巧巧读书宗旨
相关专题
讨论组问题推荐
站内各频道最新更新文档
站内最新制作专题
热门关键字导读
Photoshop教 程照片处理 照片制作 PS快捷键 抠图
计 算 机 故 障XP系统修复
艺 术 与 设 计设计 流媒体 设计欣赏 边框
计 算 机 安 全ARP
站内频道文章精选
巧巧电脑频道编辑信箱  告诉我们您想看的专题或文章