主页 PC知识 网管技术 黑客帝国 安全技术 开放系统 程序设计 搜索 技术论坛

 

相关联接
 
RHU本级分类

编程语言
程序代码
WIN/*NIX编程
其他类别
JAVA专区

 
RHU阅读排行
·在LinuxShell程序中进行身份验证
·截获流经本机网卡的IP数据包
·枚举进程和杀进程的小工具
·从蓝屏最小的asp木马来看C/S木马的编写
·用tc+iptables+HTB解决ADSL宽带速度瓶颈技术
·通过 Visual C++ 的编程模型和编译器优化增强您的应用程序
·Windows管道技术简述
·利用键盘钩子开发按键发音程序
·一个Linux病毒原型分析
·XP终端服务远程登录批处理

 
 
RHU最新文章
·Webshell下破解计算机管理员密码
·打造XP下可运行的微型PE文件(292字节)
·Win32平台下的Rootkit习作
·Linux如何在系统运行过程中修改内核参数
·Shell编程:Linux系统环境程序设计之路
·汇编创建简单的窗口
·深入浅出Win32多线程程序设计之线程控制
·VC实现Win2000下屏蔽Ctrl+Alt+Del键
·隐藏任意进程 目录/文件 注册表 端口
·Windows 的多线程程序设计初步 

 
 
RHU相关搜索









 
 
RHU广而告之

 
 
>您的位置:首页 -> 程序设计 -> WIN/*NIX编程
远程控制编程揭密

作者:RHU-TAC编辑员 来自:RHU网络采集 时间:2005-5-13 双击滚屏 收藏本页 字体:


点击 查看RHU2004全年文章


 

将远程控制应用于教学中,已成为目前计算机化教学的重要手段。一定有很多的网虫想了解这种网络教学方式的编程原理吧。在此我们就以一个简单的远程控制程序作为示例,说明这种网络编程的基本原理。本程序以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(按钮),受控机就重新启动了。远程控制机器重启成功实现。

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



OVER

[1] 页 RedHyphone.Union 投稿邮箱
[特别声明]:
本站文章大多搜索转载自网络中,如果侵犯了您的权利,请告之我们。本站将立即删除。
本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有。
查看评论】【向上滚屏】【关闭窗口】【 打印
-相关文章
  • openSUSE 11.1 Final - 正式发布
  • [视频]Opera Mini 4.2 正式版发布
  • dll注入系统进程(开源代码)
  • 认知盲区 解惑双网卡双线路DNS解析
  • FlashFXP 简体中文版 3.7.5 Build 1303 Beta[烈火]
  • -文章评论 (关闭)
    ·还没有相关的评论!

    网上大名:
    红旋风网络技术联盟 RHUTech.Union
     
    Copyright © 2000-2007 RedHyphone.Union All Rights Reserved. 红旋风联盟版权所有.皖ICP备05011033号
    中国红旋风网络技术联盟 | www.RedHyphone.net
    Mailto:Redhyphone@gamil.com