国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計 > 正文

遠(yuǎn)程控制編程揭密

2019-11-18 18:49:29
字體:
供稿:網(wǎng)友
將遠(yuǎn)程控制應(yīng)用于教學(xué)中,已成為目前計算機(jī)化教學(xué)的重要手段。一定有很多的網(wǎng)蟲想了解這種網(wǎng)絡(luò)教學(xué)方式的編程原理吧。在此我們就以一個簡單的遠(yuǎn)程控制程序作為示例,說明這種網(wǎng)絡(luò)編程的基本原理。本程序以Delphi編程為例。

  其實(shí)該程序的工作機(jī)制很簡單,受控方運(yùn)行一個程序,用于偵聽端口并接收數(shù)據(jù)包,而主控方通過端口給受控方的端口發(fā)送數(shù)據(jù)包。根據(jù)這個原理,我們編寫兩個程序,一個是控制方的,而另一個是受控方的,把這兩個程序運(yùn)行在兩臺不同的機(jī)器上,受控機(jī)等待控制機(jī)發(fā)送過來的數(shù)據(jù)然后執(zhí)行相應(yīng)的操作(如本例中的重啟)。

  Delphi中有兩類控件可以實(shí)現(xiàn)上面的目的。一類是控制方使用ClientSocket,受控方使用ServerSocket(均在Internet頁),另一類是雙方都使用NMUDP(在FastNet頁)。我們知道網(wǎng)絡(luò)傳輸都是不可靠的,也就是說傳輸?shù)臄?shù)據(jù)有可能丟失,而這兩類控件的區(qū)別是前者使用TCP(Transfer Control PRotocol,傳輸控制協(xié)議)。TCP協(xié)議是面向連接,每次雙方建立連接(或斷開)時需經(jīng)過三次握手,較為耗時,但數(shù)據(jù)傳輸可靠;而后者使用UDP(User Datagram Protocol,用戶報文協(xié)議),它是面向無連接的,發(fā)出數(shù)據(jù)不需對方確認(rèn),這樣速度比TCP快,但數(shù)據(jù)有可能丟失,因此它不可靠。由于控制所需傳送的數(shù)據(jù)量不大,而且需要較高的可靠性,因此一般使用前者,程序說明如下:

  第一步,開始控制方程序,在其中加入clientsocket控件,取名control,設(shè)置host屬性為受控機(jī)ip地址,port屬性為1234(端口可以隨便設(shè)置,但不要與一些默認(rèn)端口重復(fù),如80等)。

  第二步,在FormCreate事件中加入代碼control.open; //打開與受控機(jī)的通信

  第三步,加入個Button,設(shè)置caption為“重新啟動”,并在ButtonClick事件中加入代碼control.Socket.SendText('reboot');//通知受控機(jī)重新啟動。這樣就完成了控制方的工作了。

  第四步,開始受控方的程序,在其中加入serversocket控件,取名undercontrol,設(shè)置port屬性為1234(與控制方的端口一致),active屬性為true;

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

  ExitWindowsEx(EWX_REBOOT,2); //重啟的API函數(shù)

  這樣就完成了代碼的工作,然后編譯這兩個程序生成兩個.exe文件分別放在兩臺機(jī)器上運(yùn)行(記得先運(yùn)行Win98下的受控機(jī)程序),在控制機(jī)按下“重新啟動”的Button(按鈕),受控機(jī)就重新啟動了。遠(yuǎn)程控制機(jī)器重啟成功實(shí)現(xiàn)。

  由于篇幅的限制,以上忽略了很多細(xì)節(jié)的東西(如出錯處理),而且只能完成遠(yuǎn)程控制的一種功能,有興趣者可在此基礎(chǔ)上完善,可實(shí)現(xiàn)網(wǎng)絡(luò)軟件管理中的其它功能,如鼠標(biāo)、鍵盤鎖定、關(guān)機(jī)、抓取屏幕、文件操作、視頻傳輸?shù)龋诖司筒欢嘟榻B了,有興趣者可以上網(wǎng)多查看些這方面的資料。


上一篇:TeamSource使用說明

下一篇:如何編寫SMTP郵件服務(wù)器

發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
學(xué)習(xí)交流
熱門圖片

新聞熱點(diǎn)

疑難解答

圖片精選

網(wǎng)友關(guān)注

主站蜘蛛池模板: 塔城市| 冀州市| 格尔木市| 开原市| 密云县| 景德镇市| 金山区| 加查县| 常熟市| 常熟市| 明光市| 周至县| 阿拉善盟| 通城县| 五家渠市| 若尔盖县| 老河口市| 巴中市| 宜兴市| 亳州市| 密山市| 曲阳县| 宣汉县| 城市| 绥化市| 隆昌县| 石泉县| 兰州市| 永福县| 卫辉市| 恭城| 工布江达县| 高州市| 莲花县| 英吉沙县| 金阳县| 清苑县| 黑龙江省| 资兴市| 资兴市| 永胜县|