知识大全 远程控制编程揭密
Posted 知
篇首语:有山必有路,有水必有渡。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 远程控制编程揭密相关的知识,希望对你有一定的参考价值。
将远程控制应用于教学中 已成为目前计算机化教学的重要手段 一定有很多的网虫想了解这种网络教学方式的编程原理吧 在此我们就以一个简单的远程控制程序作为示例 说明这种网络编程的基本原理 本程序以Delphi编程为例
其实该程序的工作机制很简单 受控方运行一个程序 用于侦听端口并接收数据包 而主控方通过端口给受控方的端口发送数据包 根据这个原理 我们编写两个程序 一个是控制方的 而另一个是受控方的 把这两个程序运行在两台不同的机器上 受控机等待控制机发送过来的数据然后执行相应的操作(如本例中的重启)
Delphi中有两类控件可以实现上面的目的 一类是控制方使用ClientSocket 受控方使用ServerSocket(均在Internet页) 另一类是双方都使用NMUDP(在FastNet页) 我们知道网络传输都是不可靠的 也就是说传输的数据有可能丢失 而这两类控件的区别是前者使用TCP(Transfer Control Protocol 传输控制协议) TCP协议是面向连接 每次双方建立连接(或断开)时需经过三次握手 较为耗时 但数据传输可靠 而后者使用UDP(User Datagram Protocol 用户报文协议) 它是面向无连接的 发出数据不需对方确认 这样速度比TCP快 但数据有可能丢失 因此它不可靠 由于控制所需传送的数据量不大 而且需要较高的可靠性 因此一般使用前者 程序说明如下
第一步 开始控制方程序 在其中加入clientsocket控件 取名control 设置host属性为受控机ip地址 port属性为 (端口可以随便设置 但不要与一些默认端口重复 如 等)
第二步 在FormCreate事件中加入代码control open; //打开与受控机的通信
第三步 加入个Button 设置caption为 重新启动 并在ButtonClick事件中加入代码control Socket SendText( reboot ) //通知受控机重新启动 这样就完成了控制方的工作了
第四步 开始受控方的程序 在其中加入serversocket控件 取名undercontrol 设置port属性为 (与控制方的端口一致) active属性为true
第五步 在undercontrol的OnclientRead事件中加入代码if Socket ReceiveText= reboot then
ExitWindowsEx(EWX_REBOOT ); //重启的API函数
这样就完成了代码的工作 然后编译这两个程序生成两个 exe文件分别放在两台机器上运行(记得先运行Win 下的受控机程序) 在控制机按下 重新启动 的Button(按钮) 受控机就重新启动了 远程控制机器重启成功实现
cha138/Article/program/Delphi/201311/25023相关参考
可编程控制器采用循环扫描的工作方式,在系统程序控制下按自诊断,与编程器通讯、读入现场信号、执行用户程序、输出控制信号这样一个工作过程依次循环进行。且用户程序也是按逐条依次扫描的方式执行。
可编程控制器采用循环扫描的工作方式,在系统程序控制下按自诊断,与编程器通讯、读入现场信号、执行用户程序、输出控制信号这样一个工作过程依次循环进行。且用户程序也是按逐条依次扫描的方式执行。
编写可编程控制器的应用程序有如下步骤: (1)首先必须了解被控对象的生产工艺、技术特性及对自动控制的要求; (2)设计PLC控制图,确定控制顺序; (3)确定PLC的输入/输出器件及接线方式
编写可编程控制器的应用程序有如下步骤: (1)首先必须了解被控对象的生产工艺、技术特性及对自动控制的要求; (2)设计PLC控制图,确定控制顺序; (3)确定PLC的输入/输出器件及接线方式
C#编程入门基础控制语句概要 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 开发者要充分应用任何
利用Delphi编程控制摄像头(一) 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! &n
反向控制和面向切面编程在Spring的应用 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 摘要针
单节点元件有:触点、线圈; 双节点元件有:定时器、计数器、加法器、减法器、时序器等。
单节点元件有:触点、线圈; 双节点元件有:定时器、计数器、加法器、减法器、时序器等。
在系统较大而集中,联系紧密,时间控制较多,程序需不时改动,逻辑复杂等地方使用。