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

📄 overbyte.ics.wsocket.pas

📁 BaiduMp3 search baidu mp3
💻 PAS
📖 第 1 页 / 共 5 页
字号:
        FOnSendData         : TSendData;
        FOnDnsLookupDone    : TDnsLookupDone;
        FOnError            : TNotifyEvent;
        FOnDisplay          : TDebugDisplay;
        procedure   WndProc(var MsgRec: TMessage); override;
        procedure   SocketError(sockfunc: String);
        procedure   WMASyncSelect(var msg: TMessage); //message WM_ASYNCSELECT;
        procedure   WMAsyncGetHostByName(var msg: TMessage); //message WM_ASYNCGETHOSTBYNAME;
        procedure   WMAsyncGetHostByAddr(var msg: TMessage); //message WM_ASYNCGETHOSTBYADDR;
        procedure   WMCloseDelayed(var msg: TMessage); //message WM_CLOSE_DELAYED;
        procedure   WMRelease(var msg: TMessage); //message WM_WSOCKET_RELEASE;
        procedure   ChangeState(NewState : TSocketState);
        procedure   TryToSend; virtual;
        procedure   ASyncReceive(ErrCode : Word; MySocketOptions : TWSocketOptions);
        procedure   AssignDefaultValue; virtual;
        procedure   InternalClose(bShut : Boolean; ErrCode : Word); virtual;
        procedure   InternalAbort(ErrCode : Word); virtual;
        //procedure   Notification(AComponent: TComponent; operation: TOperation); override;
        procedure   SetSendFlags(newValue : TSocketSendFlags);
        function    GetSendFlags : TSocketSendFlags;
        procedure   SetAddr(InAddr : String); virtual;
        function    GetAddr : String;
        procedure   SetRemotePort(sPort : String); virtual;
        function    GetRemotePort : String;
        procedure   SetLocalAddr(const sLocalAddr : String);
        procedure   SetLocalPort(const sLocalPort : String);
        procedure   SetProto(sProto : String); virtual;
        function    GetProto : String;
        function    GetRcvdCount : LongInt; virtual;
        procedure   BindSocket; virtual;
        procedure   SendText(const Str : String);
        function    RealSend(const Data : TBytes; Len : Integer) : Integer; virtual;
        procedure   RaiseExceptionFmt(const Fmt : String; args : array of const); virtual;
        procedure   RaiseException(const Msg : String); virtual;
//        procedure   HandleBackGroundException(E: Exception); virtual;
        procedure   TriggerDisplay(Msg : String);
        procedure   TriggerSendData(BytesSent : Integer); virtual;
        function    TriggerDataAvailable(ErrCode : Word) : Boolean; virtual;
        procedure   TriggerSessionAvailable(ErrCode : Word); virtual;
        procedure   TriggerSessionConnectedSpecial(ErrCode : Word); virtual;
        procedure   TriggerSessionConnected(ErrCode : Word); virtual;
        procedure   TriggerSessionClosed(ErrCode : Word); virtual;
        procedure   TriggerDataSent(ErrCode : Word); virtual;
        procedure   TriggerChangeState(OldState, NewState : TSocketState); virtual;
        procedure   TriggerDNSLookupDone(ErrCode : Word); virtual;
        procedure   TriggerError; virtual;
        function    DoRecv(out Buffer : TBytes;
                           BufferSize : Integer;
                           Flags      : Integer) : Integer; virtual;
        function    DoRecvFrom(FHSocket    : TSocket;
                               out Buffer  : TBytes;
                               BufferSize  : Integer;
                               Flags       : Integer;
                               var From    : TSockAddr;
                               var FromLen : Integer) : Integer; virtual;
        procedure   Do_FD_CONNECT(var msg: TMessage); virtual;
        procedure   Do_FD_READ(var msg: TMessage); virtual;
        procedure   Do_FD_WRITE(var msg: TMessage); virtual;
        procedure   Do_FD_ACCEPT(var msg: TMessage); virtual;
        procedure   Do_FD_CLOSE(var msg: TMessage); virtual;
        procedure   DupConnected; virtual;
        procedure   AbortComponent; override;
    public
        sin         : TSockAddr;
        constructor Create(AOwner : {$IFDEF ICS_COMPONENT}TComponent
                                    {$ELSE}TObject{$ENDIF}); override;
        destructor  Destroy; override;
        procedure   Connect; virtual;
        procedure   Close; virtual;
        procedure   CloseDelayed; virtual;
        procedure   Release; virtual;
        procedure   Abort; virtual;
        procedure   Flush; virtual;
        procedure   WaitForClose; virtual;
        procedure   Listen; virtual;
        function    Accept: TSocket; virtual;
        function    Receive(out Buffer : TBytes; BufferSize: Integer) : Integer; overload; virtual;
        function    Receive(out Buffer : TBytes; Offset, BufferSize: Integer) : Integer; overload; virtual;
        function    ReceiveStr : String; virtual;
        function    ReceiveFrom(out Buffer  : TBytes;
                                BufferSize  : Integer;
                                var From    : TSockAddr;
                                var FromLen : Integer) : Integer; virtual;
        function    PeekData(out Buffer : TBytes; BufferSize: Integer) : Integer;
        function    Send(const Data : TBytes; Len : Integer) : Integer; overload; virtual;
        function    Send(Data : Byte) : Integer; overload; virtual;
        function    SendTo(Dest       : TSockAddr;
                           DestLen    : Integer;
                           const Data : TBytes;
                           Len        : Integer) : Integer; virtual;
        function    SendStr(const Str : String) : Integer; virtual;
        procedure   DnsLookup(const HostName : String); virtual;
        procedure   ReverseDnsLookup(const HostAddr: String); virtual;
        procedure   CancelDnsLookup; virtual;
        function    GetPeerAddr: String; virtual;
        function    GetPeerPort: String; virtual;
        function    GetPeerName(var Name : TSockAddrIn;
                                NameLen  : Integer) : Integer; virtual;
        function    GetXPort: String; virtual;
        function    GetXAddr: String; virtual;
        function    TimerIsSet(var tvp : TTimeVal) : Boolean; virtual;
        procedure   TimerClear(var tvp : TTimeVal); virtual;
        function    TimerCmp(var tvp : TTimeVal; var uvp : TTimeVal; IsEqual : Boolean) : Boolean; virtual;
        function    GetSockName(out saddr    : TSockAddrIn;
                                var saddrlen : Integer) : Integer; virtual;
        procedure   SetLingerOption;
        procedure   Dup(NewHSocket : TSocket); virtual;
        procedure   Shutdown(How : Integer); virtual;
        procedure   Pause; virtual;
        procedure   Resume; virtual;
        procedure   PutDataInSendBuffer(const Data : TBytes; Len : Integer);
        procedure   PutStringInSendBuffer(const Str : String);
        procedure   DeleteBufferedData;
        procedure   ThreadAttach; override;
        procedure   ThreadDetach; override;
        property    Terminated         : Boolean        read  FTerminated
                                                        write FTerminated;
        property    OnMessagePump      : TNotifyEvent   read  FOnMessagePump
                                                        write FOnMessagePump;
    protected
        property PortNum : Integer                      read  FPortNum;
        property Handle : HWND                          read  FWindowHandle;
        property HSocket : TSocket                      read  FHSocket
                                                        write Dup;
        property Addr : String                          read  GetAddr
                                                        write SetAddr;
        property Port : String                          read  GetRemotePort
                                                        write SetRemotePort;
        property LocalPort : String                     read  FLocalPortStr
                                                        write SetLocalPort;
        property LocalAddr : String                     read  FLocalAddr
                                                        write SetLocalAddr;
        property Proto : String                         read  GetProto
                                                        write SetProto;
        property MultiCast       : Boolean              read  FMultiCast
                                                        write FMultiCast;
        property MultiCastAddrStr: String               read  FMultiCastAddrStr
                                                        write FMultiCastAddrStr;
        property MultiCastIpTTL  : Integer              read  FMultiCastIpTTL
                                                        write FMultiCastIpTTL;
        property ReuseAddr       : Boolean              read  FReuseAddr
                                                        write FReuseAddr;
        property PeerAddr : String                      read  GetPeerAddr;
        property PeerPort : String                      read  GetPeerPort;
        property DnsResult : String                     read  FDnsResult;
        property DnsResultList : TStrings               read  FDnsResultList;
        property State : TSocketState                   read  FState;
        property AllSent   : Boolean                    read  bAllSent;
        property ReadCount : LongInt                    read  FReadCount;
        property RcvdCount : LongInt                    read  GetRcvdCount;
        property LastError : Integer                    read  FLastError;
        property ComponentOptions : TWSocketOptions     read  FComponentOptions
                                                        write FComponentOptions;
        property BufSize   : Integer                    read  FBufSize
                                                        write FBufSize;
        property ListenBacklog : Integer                read  FListenBacklog
                                                        write FListenBacklog;
        property OnDataAvailable    : TDataAvailable    read  FOnDataAvailable
                                                        write FOnDataAvailable;
        property OnDataSent      : TDataSent            read  FOnDataSent
                                                        write FOnDataSent;
        property OnSendData         : TSendData         read  FOnSendData
                                                        write FOnSendData;
        property OnSessionClosed    : TSessionClosed    read  FOnSessionClosed
                                                        write FOnSessionClosed;
        property OnSessionAvailable : TSessionAvailable read  FOnSessionAvailable
                                                        write FOnSessionAvailable;
        property OnSessionConnected : TSessionConnected read  FOnSessionConnected
                                                        write FOnSessionConnected;
        property OnChangeState      : TChangeState      read  FOnChangeState
                                                        write FOnChangeState;
        property OnDnsLookupDone    : TDnsLookupDone    read  FOnDnsLookupDone
                                                        write FOnDnsLookupDone;
        property OnError            : TNotifyEvent      read  FOnError
                                                        write FOnError;
        property FlushTimeout : Integer                 read  FFlushTimeOut
                                                        write FFlushTimeout;
        property SendFlags : TSocketSendFlags           read  GetSendFlags
                                                        write SetSendFlags;
        property Text: String                           read  ReceiveStr
                                                        write SendText;
        property LingerOnOff   : TSocketLingerOnOff     read  FLingerOnOff
                                                        write FLingerOnOff;
        property LingerTimeout : Integer                read  FLingerTimeout
                                                        write FLingerTimeout;
        property OnDisplay : TDebugDisplay              read  FOnDisplay
                                                        write FOnDisplay;
    end;

    TSocksState          = (socksData, socksNegociateMethods,
                            socksAuthenticate, socksConnect);
    TSocksAuthentication = (socksNoAuthentication,
                            socksAuthenticateUsercode);
    TSocksAuthState      = (socksAuthStart, socksAuthSuccess,
                            socksAuthFailure, socksAuthNotRequired);
    TSocksAuthStateEvent = procedure(Sender : TObject;
                                     AuthState : TSocksAuthState) of object;
    TSocksErrorEvent     = procedure(Sender : TObject;
                                     ErrCode : Integer;
                                     Msg : String) of Object;

    TCustomSocksWSocket = class(TCustomWSocket)
    protected
        FSocksState          : TSocksState;
        FSocksServer         : String;
        FSocksLevel          : String;
        FSocksPort           : String;
        FSocksPortAssigned   : Boolean;
        FSocksServerAssigned : Boolean;
        FSocksUsercode       : String;
        FSocksPassword       : String;
        FSocksAuthentication : TSocksAuthentication;
        FSocksAuthNumber     : char;
        FBoundAddr           : String;
        FBoundPort           : String;
        FRcvBuf              : TBytes;
        FRcvCnt              : Integer;
        FSocksRcvdCnt        : Integer;
        FSocksRcvdPtr        : Integer;
        FOnSocksError        : TSocksErrorEvent;
        FOnSocksConnected    : TSessionConnected;
        FOnSocksAuthState    : TSocksAuthStateEvent;

⌨️ 快捷键说明

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