⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sportthrd.~pas

📁 几个黑客代码。请用于正当的地方
💻 ~PAS
字号:
unit SPortThrd;

interface

uses
  Classes,Sysutils,scktcomp,ExtCtrls,Forms,StdCtrls;
type
  FindPortIP2 = class(TThread)
          UseCSockt:TClientSocket;
          UseState:Boolean;
  procedure InConnect(Sender: TObject;Socket: TCustomWinSocket);
  procedure InError(Sender: TObject; Socket: TCustomWinSocket;
      ErrorEvent: TErrorEvent; var ErrorCode: Integer);
  procedure InDisconnect(Sender: TObject;Socket: TCustomWinSocket);
  private
    { Private declarations }
  protected
     procedure Execute; override;
  public
    constructor Create(ShowPanel:TPanel);
    destructor  Destroy;override;
    Procedure   ConnectIP(IPaddr:String;DPort:Integer;SaveList:TStrings);
    Procedure   InsertIP;
  end;
Var
  InIPAddr:String;
  InSvList:TStrings;
  InPort:Integer;
  InPanel:TPanel;
  SaveEchoIP:string;

implementation
Constructor FindPortIP2.Create(ShowPanel:TPanel);
begin
    InPanel:=ShowPanel;
    UseCSockt:=TClientSocket.Create(nil);
    UseCSockt.ClientType:=ctNonBlocking;
    UseCSockt.OnError:=InError;
    UseCSockt.OnConnect:=InConnect;
    UseCSockt.OnDisconnect:=InDisconnect;
    Self.FreeOnTerminate:=False;
    inherited Create(False);
end;
Procedure FindPortIP2.ConnectIP(IPaddr:String;DPort:Integer;SaveList:TStrings);
begin
    UseState:=True;
    InIPAddr:=IPAddr;
    InPort:=DPort;
    InSvList:=SaveList;
    UseCSockt.Address:=InIPAddr;
    UseCsockt.Port:=InPort;
    try
      UseCSockt.Open;
    except
      UseCSockt.Address:='';
    end;
end;
Procedure FindPortIP2.InsertIP;
begin
    if SaveEchoIP<>'' then
    InSvList.Insert(0,SaveEchoIP);
end;
procedure FindPortIP2.InConnect(Sender: TObject;Socket: TCustomWinSocket);
Begin
  InPanel.Caption:='已连接<'+InIPAddr+'--'+IntToStr(InPort);
  SaveEchoIP:=Socket.RemoteAddress+
             '  <'+Socket.RemoteHost+'>: '+IntToStr(socket.RemotePort);
  InsertIP;
  Socket.Close;
  UseCSockt.Close;
  UseCSockt.Address:='';
  UseState:=False;
end;
procedure FindPortIP2.InError(Sender: TObject; Socket: TCustomWinSocket;
      ErrorEvent: TErrorEvent; var ErrorCode: Integer);
begin
 ErrorCode:=0; socket.Close;
 InPanel.Caption:=InIPAddr+'!'+IntToStr(InPort)+'断开';
 UseCSockt.Address:='';
 SaveEchoIP:='';
 UseState:=False;
end;
procedure FindPortIP2.InDisconnect(Sender: TObject;Socket: TCustomWinSocket);
Begin
  if Socket.RemoteAddress<>'' then
  begin
    InPanel.Caption:=InIPAddr+'='+IntToStr(InPort)+'响应';
  end else
    InPanel.Caption:=InIPAddr+'-'+IntToStr(InPort)+'无响应';
    UseCSockt.Address:='';
    SaveEchoIP:='';
    UseState:=False;
end;
destructor FindPortIP2.Destroy;
begin
   UseCSockt.Free;
end;
procedure FindPortIP2.Execute;
begin
end;
end.
 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -