亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? frmmain.pas

?? 非常好的UDP穿透Socks5的實例源碼教程
?? PAS
字號:
unit frmMain;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, hxUdp, Buttons, ActnList;

type
  TMainForm = class(TForm)
    memClient: TMemo;
    memServer: TMemo;
    Label1: TLabel;
    Label2: TLabel;
    btnSend: TButton;
    btnBroadcast: TButton;
    GroupBox1: TGroupBox;
    chkProxy: TCheckBox;
    Label3: TLabel;
    edtProxyIP: TEdit;
    edtProxyPort: TEdit;
    Label4: TLabel;
    edtProxyUser: TEdit;
    Label5: TLabel;
    edtProxyPass: TEdit;
    Label6: TLabel;
    edtSend: TEdit;
    btnStart: TSpeedButton;
    ActionList1: TActionList;
    actStart: TAction;
    actSend: TAction;
    actBroadcast: TAction;
    actStop: TAction;
    SpeedButton1: TSpeedButton;
    GroupBox2: TGroupBox;
    Label7: TLabel;
    edtServerIP: TEdit;
    Label8: TLabel;
    edtServerPort: TEdit;
    Label9: TLabel;
    edtReply: TEdit;
    procedure FormCreate(Sender: TObject);
    procedure FormDestroy(Sender: TObject);
    procedure actSendExecute(Sender: TObject);
    procedure actBroadcastExecute(Sender: TObject);
    procedure actStartExecute(Sender: TObject);
    procedure actSendUpdate(Sender: TObject);
    procedure actStartUpdate(Sender: TObject);
    procedure actBroadcastUpdate(Sender: TObject);
    procedure actStopExecute(Sender: TObject);
    procedure actStopUpdate(Sender: TObject);
  private
    { Private declarations }
    FUdpServer: ThxUDPSocket;
    FUdpClient: ThxUdpSocket;

    {服務端事件}
    procedure FUdpServerDataRead(UDPSocket: ThxUDPSocket; const PeerInfo: TPeerInfo);
    procedure FUdpServerSocketError(Sender: TObject; ErrorType: TUDPErrorType;
      var ErrorCode: Integer);
    procedure FUdpServerTimeOut;

    {客戶端事件}
    procedure FUdpClientDataRead(UDPSocket: ThxUDPSocket; const PeerInfo: TPeerInfo);
    procedure FUdpClientSocketError(Sender: TObject; ErrorType: TUDPErrorType;
      var ErrorCode: Integer);
    procedure FUdpClientTimeOut;

    procedure Log(Msg: string; Client: Boolean = True);
  public
    { Public declarations }
  end;

var
  MainForm: TMainForm;

implementation

{$R *.dfm}

procedure TMainForm.FormCreate(Sender: TObject);
begin
  FUdpServer:= ThxUDPSocket.Create;
  FUdpServer.OnDataRead:= FUdpServerDataRead;
  FUdpServer.OnSocketError:= FUdpServerSocketError;
  FUdpServer.OnTimeOut:= FUdpServerTimeOut;
  FUdpServer.Port:= StrToInt(edtServerPort.Text);
  FUdpServer.EnableBroadcast:= False;

  FUdpClient:= ThxUDPSocket.Create;
  FUdpClient.OnDataRead:= FUdpClientDataRead;
  FUdpClient.OnSocketError:= FUdpClientSocketError;
  FUdpClient.OnTimeOut:= FUdpClientTimeOut;
  FUdpClient.EnableBroadcast:= True;
end;

procedure TMainForm.FUdpClientSocketError(Sender: TObject; ErrorType: TUDPErrorType;
  var ErrorCode: Integer);
begin

end;

procedure TMainForm.FUdpClientDataRead(UDPSocket: ThxUDPSocket; const PeerInfo: TPeerInfo);
var
  Buf: array[0..1023] of char;
begin
  FillChar(Buf, 1024, #0);
  FUdpClient.RecvBuf(Buf, 1024, edtServerIP.Text, StrToInt(edtServerPort.Text));
  Log(Buf);
end;

procedure TMainForm.FUdpClientTimeOut;
begin

end;

procedure TMainForm.FUdpServerDataRead(UDPSocket: ThxUDPSocket;
  const PeerInfo: TPeerInfo);
var
  Buf: array[0..1023] of char;
begin
  FillChar(Buf, 1024, #0);
  if UDPSocket.RecvBuf(Buf, 1024, edtServerIP.Text, StrToInt(edtServerPort.Text)) then
  begin
    Log(Format('Come from %s [port:%d]:%s', [PeerInfo.PeerIP, PeerInfo.PeerPort, Buf]), False);
    FillChar(Buf, 1024, #0);
    StrPCopy(Buf, edtReply.Text);
    UDPSocket.SendBuf(Buf, Length(edtReply.Text), UDPSocket.PeerInfo.PeerIP, UDPSocket.PeerInfo.PeerPort)
  end
  else
    Log('Receive Data Error!', False);
end;

procedure TMainForm.FUdpServerSocketError(Sender: TObject; ErrorType: TUDPErrorType;
  var ErrorCode: Integer);
begin
  Log('Server Error');
end;

procedure TMainForm.FUdpServerTimeOut;
begin
  Log('Server TimeOut');
end;

procedure TMainForm.Log(Msg: string; Client: Boolean);
begin
  if Client then
    memClient.Lines.Add(Msg)
  else
    memServer.Lines.Add(Msg);
end;

procedure TMainForm.FormDestroy(Sender: TObject);
begin
  FUdpClient.Free;
  FUdpServer.Free;
end;

procedure TMainForm.actSendExecute(Sender: TObject);
begin
  FUdpClient.SendText(edtSend.Text, edtServerIP.Text, StrToInt(edtServerPort.Text));
end;

procedure TMainForm.actBroadcastExecute(Sender: TObject);
begin
  FUdpClient.BroadcastText('Welcome to our land', StrToInt(edtServerPort.Text));
end;

procedure TMainForm.actStartExecute(Sender: TObject);
begin
  //開啟服務
  FUdpServer.Active:= True;
  //客戶端連接
  with FUdpClient.ProxyInfo do
  begin
    Enabled:= chkProxy.Checked;
    Address:= edtProxyIP.Text;
    Port:= StrToInt(edtProxyPort.Text);
    Username:= edtProxyUser.Text;
    Password:= edtProxyPass.Text;
  end;
  FUdpClient.Active:= True;
end;

procedure TMainForm.actSendUpdate(Sender: TObject);
begin
  (Sender as TAction).Enabled:= FUdpClient.Active;
end;

procedure TMainForm.actStartUpdate(Sender: TObject);
begin
  (Sender as TAction).Enabled:= not FUdpClient.Active;
end;

procedure TMainForm.actBroadcastUpdate(Sender: TObject);
begin
  (Sender as TAction).Enabled:= FUdpClient.Active;
end;

procedure TMainForm.actStopExecute(Sender: TObject);
begin
  FUdpClient.Active:= False;
end;

procedure TMainForm.actStopUpdate(Sender: TObject);
begin
  (Sender as TAction).Enabled:= FUdpClient.Active;
end;

end.

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
中文欧美字幕免费| 国产欧美日产一区| 欧美亚洲综合网| 色欲综合视频天天天| 色噜噜狠狠一区二区三区果冻| 99精品视频在线免费观看| 成人av影院在线| 91视频免费观看| 欧美日韩另类一区| 欧美一区二区视频在线观看2022| 成人小视频免费在线观看| 99久久伊人久久99| 在线一区二区三区| 欧美一区二区网站| 久久久久国产精品厨房| 中文字幕一区免费在线观看| 亚洲天堂精品在线观看| 亚洲精品自拍动漫在线| 亚洲成人精品影院| 精品一区二区三区免费| 丁香六月久久综合狠狠色| 成人国产在线观看| 欧美日韩一二区| 精品女同一区二区| 一区二区三区四区在线免费观看| 亚洲精品一二三| 午夜欧美大尺度福利影院在线看| 九一九一国产精品| 成人国产在线观看| 在线成人小视频| 国产日韩综合av| 亚洲九九爱视频| 精品午夜久久福利影院| 91麻豆视频网站| 欧美一区三区四区| 美女在线观看视频一区二区| 国产精品一二三四五| 91香蕉国产在线观看软件| 日韩欧美在线1卡| 亚洲日穴在线视频| 黄色日韩网站视频| 7777精品久久久大香线蕉| 国产午夜精品久久| 日韩福利电影在线| 99riav久久精品riav| 91精品国产一区二区| 综合在线观看色| 激情六月婷婷久久| 欧美三级中文字幕| 综合电影一区二区三区| 久久国产精品露脸对白| 欧美日韩情趣电影| 亚洲精品乱码久久久久久久久| 精品亚洲国产成人av制服丝袜| 在线看不卡av| 亚洲日穴在线视频| 国产成人aaa| 精品91自产拍在线观看一区| 亚洲综合区在线| 99视频精品免费视频| 欧美激情综合在线| 激情国产一区二区| 91精品国产福利在线观看| 亚洲动漫第一页| 欧美电视剧在线看免费| 亚洲午夜久久久久中文字幕久| 国产成人鲁色资源国产91色综| 精品动漫一区二区三区在线观看| 日韩av一区二区三区四区| 在线视频中文字幕一区二区| 国产精品大尺度| 成人av综合一区| 欧美韩国日本不卡| 岛国精品在线观看| 国产午夜精品福利| 成人免费高清在线| 亚洲欧洲另类国产综合| 色婷婷综合久久| 亚洲国产精品一区二区www在线| 色八戒一区二区三区| 一区二区三区国产精华| 欧美特级限制片免费在线观看| 亚洲精品视频在线观看网站| 色哟哟国产精品| 一区二区三区国产| 欧美一区二区三区四区五区| 日韩二区三区四区| 亚洲欧美日韩国产手机在线| av爱爱亚洲一区| 亚洲制服丝袜在线| 69久久99精品久久久久婷婷| 久久www免费人成看片高清| 久久久久久免费毛片精品| 成人国产在线观看| 亚洲一区二区欧美激情| 日韩一区二区三区免费观看| 国产精品一级二级三级| 国产精品第一页第二页第三页| 欧美亚一区二区| 国产一区二区剧情av在线| 国产精品理伦片| 91精品国产色综合久久| 国产一区二区三区综合| 亚洲欧美激情在线| 日韩亚洲电影在线| 成人av电影免费在线播放| 亚洲va国产天堂va久久en| 日韩欧美亚洲另类制服综合在线| 丰满放荡岳乱妇91ww| 亚洲成人av在线电影| 久久久久高清精品| 欧美日韩国产综合一区二区三区| 精品一区二区在线视频| 亚洲欧美国产高清| 欧美哺乳videos| 色婷婷精品大视频在线蜜桃视频| 久久97超碰国产精品超碰| 亚洲三级在线看| 国产网红主播福利一区二区| 欧美日韩在线观看一区二区 | 一区二区不卡在线视频 午夜欧美不卡在| 欧美性极品少妇| 国产91清纯白嫩初高中在线观看| 五月天欧美精品| 国产精品国产三级国产普通话三级| 欧美图片一区二区三区| 成人黄色免费短视频| 另类人妖一区二区av| 亚洲国产视频在线| 国产精品麻豆视频| 久久久精品黄色| 日韩欧美综合一区| 欧美日韩国产精品自在自线| 97久久精品人人做人人爽50路| 精品午夜一区二区三区在线观看| 午夜精品123| 一区二区三区四区亚洲| 国产精品三级电影| 国产日产欧美精品一区二区三区| 日韩一区二区免费在线观看| 欧洲av在线精品| 色综合天天综合狠狠| 成人国产一区二区三区精品| 国产在线一区观看| 麻豆91免费观看| 日韩精品乱码av一区二区| 亚洲与欧洲av电影| 亚洲免费av高清| 亚洲精品视频在线观看网站| 国产精品福利一区| 亚洲视频小说图片| 亚洲欧美日韩国产中文在线| 136国产福利精品导航| 国产精品高潮久久久久无| 国产三级精品在线| 国产精品嫩草影院av蜜臀| 国产日韩欧美一区二区三区综合| 久久久www免费人成精品| 2017欧美狠狠色| 国产婷婷精品av在线| 欧美经典三级视频一区二区三区| 中文子幕无线码一区tr| 中文字幕va一区二区三区| 国产精品国产a| 一区二区三区成人在线视频| 午夜视频在线观看一区二区三区| 香港成人在线视频| 美女视频黄免费的久久| 国产在线国偷精品产拍免费yy| 成人夜色视频网站在线观看| 成人国产一区二区三区精品| 91免费看片在线观看| 欧美日韩一区二区三区高清 | 在线一区二区三区| 欧美精品丝袜久久久中文字幕| 日韩无一区二区| 亚洲国产经典视频| 亚洲精品久久7777| 麻豆极品一区二区三区| 成人看片黄a免费看在线| 91久久精品国产91性色tv| 欧美放荡的少妇| 欧美激情一区二区三区全黄| 一区二区三区中文字幕电影| 天堂精品中文字幕在线| 国产福利视频一区二区三区| 色婷婷激情久久| 久久色视频免费观看| 亚洲欧美国产毛片在线| 奇米影视在线99精品| 不卡一卡二卡三乱码免费网站 | 午夜精品久久久久久久久久久| 免费在线观看视频一区| av高清久久久| 亚洲精品一区二区三区福利 | 欧美成人精品1314www| 综合久久久久综合| 久久成人18免费观看| 欧美亚洲禁片免费| 国产欧美日韩在线|