Delphi中遠端控制的實現 一

2021-04-03 02:14:47 字數 2904 閱讀 4212

實行遠端控制,實際上就是乙個伺服器程式(以下簡稱被控程式)和乙個客戶程式(以下簡稱主控程式):被控方即為伺服器程式,它監聽客戶的請求,並作出相應的處理;主控方即為客戶程式,它連線上伺服器後,發出自己的請求,伺服器便根據自已的請求進行不同的響應。而winsock是一組api,用於在網路上傳輸資料和交換資訊。通過winsock程式設計有更大的靈活性,因為它不需要關心網路連線的細節,然而用winsock程式設計卻很複雜。但是,在delphi中我們並不需要直接與winsock的api打交道,因為tclientsocket元件和tserversocket元件(在internet頁)封裝了winsock的大部分api,使得對winsock的訪問大大簡化。下面這個簡單的遠端控制的例子就很清楚地說明了這個問題,它可以傳送乙個訊息給對方,對方收到後發出資訊確認。當然,在實際的程式設計中,我們可以根據需要,要求被控方可以根據主控方發來的資訊,經過判斷後作出相應的動作。如關機、傳送檔案…

一、主控程式(client端):

clientsocket1的port設為:2058。當然,可以改變,但要求主控程式和被控程式的port值一致。介面如下:

源程式如下:

unit main;

inte***ce

uses

windows, messages, sysutils, classes, graphics, controls, forms, dialogs,

stdctrls, extctrls, scktcomp;

type

tmainform = class(tform)

panel1: tpanel;

panel2: tpanel;

panel3: tpanel;

memo1: tmemo;

edit1: tedit;

button1: tbutton;

button2: tbutton;

clientsocket1: tclientsocket;

edit2: tedit;

procedure clientsocket1read(sender: tobject; socket: tcustomwinsocket);

procedure button2click(sender: tobject);

procedure button1click(sender: tobject);

procedure formclose(sender: tobject; var action: tcloseaction);

procedure edit1keypress(sender: tobject; var key: char);

private

procedure send_message;//傳送資訊

public

end;

varmainform: tmainform;

implementation

procedure tmainform.send_message;

begin

clientsocket1.socket.sendtext(edit1.text);//傳送資訊

edit1.text:='';

end;

procedure tmainform.clientsocket1read(sender: tobject;

socket: tcustomwinsocket);

vars:string;

begin

s:=clientsocket1.socket.receivetext;//接收資訊

memo1.lines.add('伺服器端返回的資訊為:'+s);

end;

procedure tmainform.button2click(sender: tobject);

begin

if button2.caption='登入' then

begin

button2.caption:='斷開';

clientsocket1.address:=edit2.text;

clientsocket1.active:=false;

clientsocket1.active:=true;

button1.enabled:=true;

edit1.enabled:=true;

end else

begin

button2.caption:='登入';

clientsocket1.active:=false;

button1.enabled:=false;

edit1.enabled:=false;

end;

end;

procedure tmainform.button1click(sender: tobject);

begin

send_message;

end;

procedure tmainform.formclose(sender: tobject; var action: tcloseaction);

begin

if clientsocket1.active then

clientsocket1.active:=false;

end;

procedure tmainform.edit1keypress(sender: tobject; var key: char);

begin

if key=#13 then

begin

key:=#0;

send_message;

end;

end;

end.

Python UDP廣播實現遠端控制

應用場景 樹莓派連線在乙個動態ip的環境,我們需要知道ip位址進行ssh連線或者sftp檔案上傳 遠端執行命令,關機 殺程序 等 服務端 broadcast server.py coding utf 8 import socket import pickle import os import sys...

python實現遠端控制電腦

python遠端控制電腦的具體 供大家參考,具體內容如下 python擁有大量的第三方庫,且語法簡單。今天老楊就用python實現遠端控制電www.cppcns.com腦 所謂,謀定而後動,在實現任何乙個需求之前,我們需要先分析,捋清楚乙個思路,遠端控制電腦,無非就是接收遠端的命令和根據命令去執行對...

遠端控制電腦的實現方法

由於工作關係,有時需要在不在身邊的計算機上查詢檔案或者其它操作,自然而然就需要用到遠端控制方案,都有哪些可行的做法呢?下面jiuh就和我一起來看一看 1 比較傳統的方法 使用qq遠端控制,但這時需要被控端計算機有人在跟前,同意你遠端才行。2 專門的遠端控制軟體方案 2.1 teamviewer,但最...