摘要载入中…    请稍等…












内容载入中…    请稍等…

如长时间看不到内容,请关闭浏览器,重新打开此页!

芯友首页 应用软件 编程开发 网络硬件 资源下载 动漫音乐 精美图库 芯友论坛 视频教程 电脑技术QQ群:72845454
 ★★photoshop学友-史上最强播放器★★
 位置:编程开发>Deiphi>Deiphi网络编程
◎→ 本类最新
远程程序运行状态的简单监控
在IE上增添一个按钮
在Delphi中实现ASP编程
在Delphi程序中应用IE浏览器控件
在DELPHI程序中拨号上网
用Delphi编写ASP的ActiveX服务器
用Delphi编写CGI程序返回图象
◎→相关资源
C语言入门视频教程
C#编程WinForm入门视频
Asp.net入门视频教程下载
VC++编程视频教程下载
VB窗体文章
HTML入门教程
Deiphi实例教程
Deiphi窗体文章
Deiphi数据库编程
Deiphi网络编程
Deiphi图形图象文章
Deiphi系统文件
◎→ 热门资源
droopyeyes的字符串操作函数集
ESBMaths v3.2.1 (数学公式包)
FastReport v3.07 汉化文件
注册表基本操作,简单加密
在应用程序中开关WINDOWS系统
在Delphi中使用CreateOleObject方
在Delphi中如何对注册表进行操作

远程控制编程揭密


日期:2008-10-20 22:06:52    来源:
   
 ·Delphi中用ICMP探测远程主机状态 ·delpht中控制窗体的变化的技巧
 ·Delphi拖放编程(2)(1)
远程控制编程揭密


将远程控制应用于教学中,已成为目前计算机化教学的重要手段。一定有很多的网虫想了解这种网络教学方式的编程原理吧。在此我们就以一个简单的远程控制程序作为示例,说明这种网络编程的基本原理。本程序以Delphi编程为例。

  其实该程序的工作机制很简单,受控方运行一个程序,用于侦听端口并接收数据包,而主控方通过端口给受控方的端口发送数据包。根据这个原理,我们编写两个程序,一个是控制方的,而另一个是受控方的,把这两个程序运行在两台不同的机器上,受控机等待控制机发送过来的数据然后执行相应的操作(如本例中的重启)。

  Delphi中有两类控件可以实现上面的目的。一类是控制方使用ClientSocket,受控方使用ServerSocket(均在Internet页),另一类是双方都使用NMUDP(在FastNet页)。我们知道网络传输都是不可靠的,也就是说传输的数据有可能丢失,而这两类控件的区别是前者使用TCP(Transfer Control Protocol,传输控制协议)。TCP协议是面向连接,每次双方建立连接(或断开)时需经过三次握手,较为耗时,但数据传输可靠;而后者使用UDP(User Datagram Protocol,用户报文协议),它是面向无连接的,发出数据不需对方确认,这样速度比TCP快,但数据有可能丢失,因此它不可靠。由于控制所需传送的数据量不大,而且需要较高的可靠性,因此一般使用前者,程序说明如下:

  第一步,开始控制方程序,在其中加入clientsocket控件,取名control,设置host属性为受控机ip地址,port属性为1234(端口可以随便设置,但不要与一些默认端口重复,如80等)。

  第二步,在FormCreate事件中加入代码control.open; //打开与受控机的通信

  第三步,加入个Button,设置caption为“重新启动”,并在ButtonClick事件中加入代码control.Socket.SendText('reboot');//通知受控机重新启动。这样就完成了控制方的工作了。

  第四步,开始受控方的程序,在其中加入serversocket控件,取名undercontrol,设置port属性为1234(与控制方的端口一致),active属性为true;

  第五步,在undercontrol的OnclientRead事件中加入代码if Socket.ReceiveText='reboot' then

  ExitWindowsEx(EWX_REBOOT,2); //重启的API函数

  这样就完成了代码的工作,然后编译这两个程序生成两个.exe文件分别放在两台机器上运行(记得先运行Win98下的受控机程序),在控制机按下“重新启动”的Button(按钮),受控机就重新启动了。远程控制机器重启成功实现。

  由于篇幅的限制,以上忽略了很多细节的东西(如出错处理),而且只能完成远程控制的一种功能,有兴趣者可在此基础上完善,可实现网络软件管理中的其它功能,如鼠标、键盘锁定、关机、抓取屏幕、文件操作、视频传输等,在此就不多介绍了,有兴趣者可以上网多查看些这方面的资料。

 [1]

Telnet远程修改ADSL

在 Delphi 中控制扫描仪的使用(1)

Delphi编程根据IP地址得到主机名(1)

--->专用网络打字比赛软件 6.1.9┊是控制功能最多的打字软件┊简体中文绿色特别版
--->VB游戏编程学习系统 2.1
--->Need3Space V1.3.3.49┊完整的控制和管理本地磁盘的应用程序┊英文绿色特别版
--->FTPGetter V2.8.0.97┊FTP客户端、上传和下载带宽可分开控制┊英文绿色特别版
--->QQ远程控制 V1.0
Tags:  远程 控制 编程
{$enumber$}
芯友网版权所有 1999-2006 | 著作权与商标声明 | 法律声明 | 服务条款 | 隐私声明 | 联系我们