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

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

?? idrawbase.pas

?? delphi indy9.0.18組件包
?? PAS
字號:
{ $HDR$}
{**********************************************************************}
{ Unit archived using Team Coherence                                   }
{ Team Coherence is Copyright 2002 by Quality Software Components      }
{                                                                      }
{ For further information / comments, visit our WEB site at            }
{ http://www.TeamCoherence.com                                         }
{**********************************************************************}
{}
{ $Log:  10289: IdRawBase.pas 
{
{   Rev 1.0    2002.11.12 10:49:18 PM  czhower
}
unit IdRawBase;

interface

uses
  Classes,
  IdComponent, IdGlobal, IdSocketHandle,
  IdStackConsts;

const
  Id_TIdRawBase_Port = 0;
  Id_TIdRawBase_BufferSize = 8192;
  GReceiveTimeout = 0;
  GFTTL = 128;
  
type
  TIdRawBase = class(TIdComponent)
  protected
    FBinding: TIdSocketHandle;
    FBuffer: TMemoryStream;
    FHost: string;
    FPort: integer;
    FReceiveTimeout: integer;
    FProtocol: integer;
    FTTL: Integer;
    function GetBinding: TIdSocketHandle;
    function GetBufferSize: Integer;
    procedure SetBufferSize(const AValue: Integer);
    procedure SetTTL(const Value: Integer);
  public
    constructor Create(AOwner: TComponent); override;
    destructor Destroy; override;

    property TTL: Integer read FTTL write SetTTL default GFTTL;
    property Binding: TIdSocketHandle read GetBinding;
    property ReceiveTimeout: integer read FReceiveTimeout write FReceiveTimeout Default GReceiveTimeout;
    // TODO: figure out which ReceiveXXX functions we want
    function ReceiveBuffer(var ABuffer; const AByteCount: Integer; ATimeOut: integer = -1): integer;
    procedure Send(AData: string); overload;
    procedure Send(AHost: string; const APort: Integer; AData: string); overload;
    procedure Send(AHost: string; const APort: integer; var ABuffer; const ABufferSize: integer); overload;

  published
    property BufferSize: Integer read GetBufferSize write SetBufferSize default Id_TIdRawBase_BufferSize;
    property Host: string read FHost write FHost;
    property Port: Integer read FPort write FPort default Id_TIdRawBase_Port;
    property Protocol: Integer read FProtocol write FProtocol default Id_IPPROTO_RAW;
  end;

implementation

uses
  IdResourceStrings, IdStack, SysUtils;

{ TIdRawBase }

constructor TIdRawBase.Create(AOwner: TComponent);
begin
  inherited;
  FBinding := TIdSocketHandle.Create(nil);
  BufferSize := Id_TIdRawBase_BufferSize;
  ReceiveTimeout := GReceiveTimeout;
  FPort := Id_TIdRawBase_Port;
  FProtocol := Id_IPPROTO_RAW;
  FTTL := GFTTL;
end;

destructor TIdRawBase.Destroy;
begin
  FreeAndNil(FBinding);
  FreeAndNil(FBuffer);
  inherited;
end;

function TIdRawBase.GetBinding: TIdSocketHandle;
begin
  if not FBinding.HandleAllocated then begin
    FBinding.AllocateSocket(Id_SOCK_RAW, FProtocol);
  end;
  FBinding.SetSockOpt(Id_IPPROTO_IP, Id_IP_TTL, PChar(@FTTL), SizeOf(FTTL));
  Result := FBinding;
end;

function TIdRawBase.GetBufferSize: Integer;
begin
  Result := FBuffer.Size;
end;

procedure TIdRawBase.SetBufferSize(const AValue: Integer);
begin
  if (FBuffer = nil) then
    FBuffer := TMemoryStream.Create;
  FBuffer.Size := AValue;
end;

function TIdRawBase.ReceiveBuffer(var ABuffer; const AByteCount: Integer; ATimeOut: integer = -1): integer;
begin
  if (AByteCount > 0) and (@ABuffer <> nil) then
  begin
    // TODO: pass flags to recv()
    if ATimeOut < 0 then
      ATimeOut := FReceiveTimeout;
    if Binding.Readable(ATimeOut) then
      Result := Binding.Recv(ABuffer, AByteCount, 0)
    else
    begin
      result := 0;
    end;
  end
  else
    result := 0;
end;

procedure TIdRawBase.Send(AHost: string; const APort: Integer; AData: string);
begin
  AHost := GStack.ResolveHost(AHost);
  Binding.SendTo(AHost, APort, AData[1], Length(AData));
end;

procedure TIdRawBase.Send(AData: string);
begin
  Send(Host, Port, AData);
end;

procedure TIdRawBase.Send(AHost: string; const APort: integer; var ABuffer; const ABufferSize: integer);
begin
  AHost := GStack.ResolveHost(AHost);
  Binding.SendTo(AHost, APort, ABuffer, ABufferSize);
end;


procedure TIdRawBase.SetTTL(const Value: Integer);
var
  data: pointer;
begin
  FTTL := Value;
  Data := @FTTL;
  Binding.SetSockOpt(Id_IPPROTO_IP, Id_IP_TTL, PChar(Data), SizeOf(FTTL));
end;

end.

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
极品美女销魂一区二区三区| 欧美日韩极品在线观看一区| 91成人看片片| 久久夜色精品国产噜噜av| 亚洲图片欧美一区| 成人美女视频在线观看18| 制服丝袜亚洲播放| 亚洲午夜在线电影| 99久久99久久精品国产片果冻| 日韩精品一区二区三区swag| 夜夜精品浪潮av一区二区三区| 国产白丝精品91爽爽久久| 日韩三级高清在线| 亚洲午夜在线电影| 在线视频一区二区三| 欧美国产亚洲另类动漫| 国产乱人伦精品一区二区在线观看| 欧美日韩精品二区第二页| 亚洲综合色网站| av中文字幕亚洲| 国产精品美女久久久久aⅴ国产馆 国产精品美女久久久久av爽李琼 国产精品美女久久久久高潮 | 欧美一区二区二区| 亚欧色一区w666天堂| 欧美性感一区二区三区| 亚洲男人电影天堂| 91丨九色丨蝌蚪丨老版| 国产精品亲子伦对白| 成人免费av资源| 国产精品久久久久久亚洲毛片 | 老司机精品视频在线| 欧美日韩国产一级二级| 亚洲影院理伦片| 欧美夫妻性生活| 午夜成人免费电影| 欧美一级在线观看| 国内精品视频一区二区三区八戒| 日韩你懂的在线播放| 另类综合日韩欧美亚洲| 久久久精品国产免大香伊| 成人在线综合网| 国产精品不卡在线观看| 在线精品视频小说1| 亚洲国产视频一区| 欧美一卡二卡三卡四卡| 国产美女在线精品| 中文字幕视频一区| 欧美在线一区二区三区| 欧美a级理论片| 国产亚洲婷婷免费| 97久久精品人人澡人人爽| 亚洲电影激情视频网站| 精品美女在线观看| 成人黄色a**站在线观看| 亚洲黄色免费电影| 欧美高清dvd| 懂色av中文字幕一区二区三区| 中文字幕视频一区| 51精品国自产在线| 粉嫩嫩av羞羞动漫久久久| 亚洲一区二区偷拍精品| 日韩三级高清在线| 94-欧美-setu| 激情综合一区二区三区| 国产精品美女久久久久久2018| 欧美日韩一区二区三区四区五区| 黑人巨大精品欧美黑白配亚洲| 自拍偷拍国产精品| 欧美三日本三级三级在线播放| 狠狠色狠狠色综合日日91app| 国产精品美女一区二区| 91.成人天堂一区| 成人免费精品视频| 开心九九激情九九欧美日韩精美视频电影| 国产拍揄自揄精品视频麻豆| 欧美日韩国产首页| 成人的网站免费观看| 美女诱惑一区二区| 一区二区三区欧美在线观看| 久久久久久久久久久电影| 91免费看视频| 国产激情一区二区三区桃花岛亚洲| 亚洲成a人片综合在线| 国产精品久久久久久久久动漫 | 欧美精品少妇一区二区三区 | 国内久久精品视频| 亚洲曰韩产成在线| 亚洲欧洲av另类| 亚洲精品一线二线三线无人区| 欧洲av一区二区嗯嗯嗯啊| 国产精品一区二区久久不卡| 美女网站一区二区| 亚洲午夜精品在线| 一区二区在线观看av| 国产精品毛片a∨一区二区三区| 日韩免费观看高清完整版在线观看| 欧美最猛黑人xxxxx猛交| 99久久国产综合精品麻豆| 国产另类ts人妖一区二区| 免费的成人av| 蜜桃一区二区三区四区| 青草av.久久免费一区| 亚洲成人你懂的| 亚洲第一电影网| 亚洲一二三四在线观看| 夜夜夜精品看看| 一区二区三区国产精华| 亚洲六月丁香色婷婷综合久久 | 国产一区二区伦理| 久久精品久久综合| 日韩av一区二区三区| 午夜精品成人在线视频| 水蜜桃久久夜色精品一区的特点| 亚洲一区二区三区国产| 亚洲小说欧美激情另类| 亚洲国产va精品久久久不卡综合| 亚洲一区二区三区四区五区黄| 亚洲主播在线播放| 性久久久久久久久久久久| 五月天国产精品| 免费成人小视频| 国产精品综合二区| 春色校园综合激情亚洲| 91年精品国产| 欧美日韩一区精品| 欧美一区二区三区男人的天堂| 欧美一级二级三级乱码| 精品国产免费一区二区三区四区| 精品国产91洋老外米糕| 欧美激情一区二区三区不卡| 亚洲欧美精品午睡沙发| 亚洲午夜免费视频| 美女精品自拍一二三四| 福利视频网站一区二区三区| 91在线视频播放| 51精品视频一区二区三区| 久久先锋影音av鲁色资源| **性色生活片久久毛片| 五月激情丁香一区二区三区| 毛片av一区二区| 99re亚洲国产精品| 在线综合+亚洲+欧美中文字幕| 久久久久久久久岛国免费| 亚洲女爱视频在线| 丝袜诱惑亚洲看片| 国产99久久久国产精品潘金网站| 91视频你懂的| 日韩女同互慰一区二区| 51精品久久久久久久蜜臀| 国产欧美日韩另类视频免费观看| 亚洲少妇30p| 青青草原综合久久大伊人精品优势| 国内精品久久久久影院薰衣草| 色欧美片视频在线观看 | 日本怡春院一区二区| 成人一区二区三区| 91精品在线免费观看| 国产精品午夜在线观看| 日韩成人免费电影| aaa亚洲精品| 精品久久久久久亚洲综合网| 亚洲精品欧美激情| 国产成人免费视频网站高清观看视频| 在线观看网站黄不卡| 久久久精品tv| 日本成人中文字幕| 欧美影院午夜播放| 中文字幕亚洲在| 国产黄色精品视频| 日韩精品中文字幕一区| 五月天一区二区| 91免费国产在线| 国产亚洲成年网址在线观看| 美腿丝袜亚洲综合| 欧美三级视频在线观看| 成人欧美一区二区三区黑人麻豆| 黄页视频在线91| 日韩小视频在线观看专区| 亚洲福利电影网| 欧美在线高清视频| 亚洲视频 欧洲视频| 不卡电影免费在线播放一区| 久久午夜色播影院免费高清| 欧美a级一区二区| 欧美理论电影在线| 亚洲成人你懂的| 欧美日韩国产乱码电影| 亚洲一卡二卡三卡四卡五卡| 99精品国产热久久91蜜凸| 中文字幕欧美国产| 国产成人福利片| 欧美国产日本视频| 国产美女精品一区二区三区| 欧美一区永久视频免费观看| 亚洲不卡av一区二区三区| 欧美日本在线视频| 日韩电影网1区2区| 91精品欧美福利在线观看| 捆绑调教美女网站视频一区| 欧美成人一级视频| 国产成人亚洲精品青草天美|