實行遠端控制,實際上就是乙個伺服器程式(以下簡稱被控程式)和乙個客戶程式(以下簡稱主控程式):被控方即為伺服器程式,它監聽客戶的請求,並作出相應的處理;主控方即為客戶程式,它連線上伺服器後,發出自己的請求,伺服器便根據自已的請求進行不同的響應。而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,但最...