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

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

?? wsksock.bas

?? 功能強大的API
?? BAS
?? 第 1 頁 / 共 2 頁
字號:
        MemCopy ByVal retString, ByVal lpStr, nStr
        retString = Left(retString, nStr)
        GetAscIP = retString
    Else
        GetAscIP = "255.255.255.255"
    End If
End Function

Public Function GetHostByAddress(ByVal addr As Long) As String
    Dim phe&, ret&
    Dim heDestHost As HostEnt
    Dim HostName$
    phe = gethostbyaddr(addr, 4, PF_INET)
    If phe Then
        MemCopy heDestHost, ByVal phe, hostent_size
        HostName = String(256, 0)
        MemCopy ByVal HostName, ByVal heDestHost.h_name, 256
        GetHostByAddress = Left(HostName, InStr(HostName, Chr(0)) - 1)
    Else
        GetHostByAddress = WSA_NoName
    End If
End Function

'returns IP as long, in network byte order
Public Function GetHostByNameAlias(ByVal HostName$) As Long
    'Return IP address as a long, in network byte order
    Dim phe&
    Dim heDestHost As HostEnt
    Dim addrList&
    Dim retIP&
    retIP = inet_addr(HostName$)
    If retIP = INADDR_NONE Then
        phe = gethostbyname(HostName$)
        If phe <> 0 Then
            MemCopy heDestHost, ByVal phe, hostent_size
            MemCopy addrList, ByVal heDestHost.h_addr_list, 4
            MemCopy retIP, ByVal addrList, heDestHost.h_length
        Else
            retIP = INADDR_NONE
        End If
    End If
    GetHostByNameAlias = retIP
End Function

'returns your local machines name
Public Function GetLocalHostName() As String
    Dim sName$
    sName = String(256, 0)
    If gethostname(sName, 256) Then
        sName = WSA_NoName
    Else
        If InStr(sName, Chr(0)) Then
            sName = Left(sName, InStr(sName, Chr(0)) - 1)
        End If
    End If
    GetLocalHostName = sName
End Function

    Public Function GetPeerAddress(ByVal s&) As String
    Dim addrlen&
    Dim sa As sockaddr
    addrlen = sockaddr_size
    If getpeername(s, sa, addrlen) Then
        GetPeerAddress = ""
    Else
        GetPeerAddress = SockAddressToString(sa)
    End If
End Function

    Public Function GetPortFromString(ByVal PortStr$) As Long
    'sometimes users provide ports outside the range of a VB
    'integer, so this function returns an integer for a string
    'just to keep an error from happening, it converts the
    'number to a negative if needed
    If Val(PortStr$) > 32767 Then
        GetPortFromString = CInt(Val(PortStr$) - &H10000)
    Else
        GetPortFromString = Val(PortStr$)
    End If
    If Err Then GetPortFromString = 0
End Function

    Function GetProtocolByName(ByVal protocol$) As Long
    Dim tmpShort&
    Dim ppe&
    Dim peDestProt As protoent
    ppe = getprotobyname(protocol)
    If ppe Then
        MemCopy peDestProt, ByVal ppe, protoent_size
        GetProtocolByName = peDestProt.p_proto
    Else
        tmpShort = Val(protocol)
        If tmpShort Then
            GetProtocolByName = htons(tmpShort)
        Else
            GetProtocolByName = SOCKET_ERROR
        End If
    End If
End Function

    Function GetServiceByName(ByVal service$, ByVal protocol$) As Long
    Dim serv&
    Dim pse&
    Dim seDestServ As servent
    pse = getservbyname(service, protocol)
    If pse Then
        MemCopy seDestServ, ByVal pse, servent_size
        GetServiceByName = seDestServ.s_port
    Else
        serv = Val(service)
        If serv Then
            GetServiceByName = htons(serv)
        Else
            GetServiceByName = INVALID_SOCKET
        End If
    End If
End Function

    Function GetSockAddress(ByVal s&) As String
    Dim addrlen&
    Dim ret&
    Dim sa As sockaddr
    Dim szRet$
    szRet = String(32, 0)
    addrlen = sockaddr_size
    If getsockname(s, sa, addrlen) Then
        GetSockAddress = ""
    Else
        GetSockAddress = SockAddressToString(sa)
    End If
End Function

Function GetWSAErrorString(ByVal errnum&) As String
    On Error Resume Next
    Select Case errnum
        Case 10004: GetWSAErrorString = "Interrupted system call."
        Case 10009: GetWSAErrorString = "Bad file number."
        Case 10013: GetWSAErrorString = "Permission Denied."
        Case 10014: GetWSAErrorString = "Bad Address."
        Case 10022: GetWSAErrorString = "Invalid Argument."
        Case 10024: GetWSAErrorString = "Too many open files."
        Case 10035: GetWSAErrorString = "Operation would block."
        Case 10036: GetWSAErrorString = "Operation now in progress."
        Case 10037: GetWSAErrorString = "Operation already in progress."
        Case 10038: GetWSAErrorString = "Socket operation on nonsocket."
        Case 10039: GetWSAErrorString = "Destination address required."
        Case 10040: GetWSAErrorString = "Message too long."
        Case 10041: GetWSAErrorString = "Protocol wrong type for socket."
        Case 10042: GetWSAErrorString = "Protocol not available."
        Case 10043: GetWSAErrorString = "Protocol not supported."
        Case 10044: GetWSAErrorString = "Socket type not supported."
        Case 10045: GetWSAErrorString = "Operation not supported on socket."
        Case 10046: GetWSAErrorString = "Protocol family not supported."
        Case 10047: GetWSAErrorString = "Address family not supported by protocol family."
        Case 10048: GetWSAErrorString = "Address already in use."
        Case 10049: GetWSAErrorString = "Can't assign requested address."
        Case 10050: GetWSAErrorString = "Network is down."
        Case 10051: GetWSAErrorString = "Network is unreachable."
        Case 10052: GetWSAErrorString = "Network dropped connection."
        Case 10053: GetWSAErrorString = "Software caused connection abort."
        Case 10054: GetWSAErrorString = "Connection reset by peer."
        Case 10055: GetWSAErrorString = "No buffer space available."
        Case 10056: GetWSAErrorString = "Socket is already connected."
        Case 10057: GetWSAErrorString = "Socket is not connected."
        Case 10058: GetWSAErrorString = "Can't send after socket shutdown."
        Case 10059: GetWSAErrorString = "Too many references: can't splice."
        Case 10060: GetWSAErrorString = "Connection timed out."
        Case 10061: GetWSAErrorString = "Connection refused."
        Case 10062: GetWSAErrorString = "Too many levels of symbolic links."
        Case 10063: GetWSAErrorString = "File name too long."
        Case 10064: GetWSAErrorString = "Host is down."
        Case 10065: GetWSAErrorString = "No route to host."
        Case 10066: GetWSAErrorString = "Directory not empty."
        Case 10067: GetWSAErrorString = "Too many processes."
        Case 10068: GetWSAErrorString = "Too many users."
        Case 10069: GetWSAErrorString = "Disk quota exceeded."
        Case 10070: GetWSAErrorString = "Stale NFS file handle."
        Case 10071: GetWSAErrorString = "Too many levels of remote in path."
        Case 10091: GetWSAErrorString = "Network subsystem is unusable."
        Case 10092: GetWSAErrorString = "Winsock DLL cannot support this application."
        Case 10093: GetWSAErrorString = "Winsock not initialized."
        Case 10101: GetWSAErrorString = "Disconnect."
        Case 11001: GetWSAErrorString = "Host not found."
        Case 11002: GetWSAErrorString = "Nonauthoritative host not found."
        Case 11003: GetWSAErrorString = "Nonrecoverable error."
        Case 11004: GetWSAErrorString = "Valid name, no data record of requested type."
        Case Else:
    End Select
End Function

Function IpToAddr(ByVal AddrOrIP$) As String
    On Error Resume Next
    IpToAddr = GetHostByAddress(GetHostByNameAlias(AddrOrIP$))
    If Err Then IpToAddr = WSA_NoName
End Function

Function IrcGetAscIp(ByVal IPL$) As String
    'this function is IRC specific, it expects a long ip stored in Network byte order, in a string
    'the kind that would be parsed out of a DCC command string
    On Error GoTo IrcGetAscIPError:
    Dim lpStr&
    Dim nStr&
    Dim retString$
    Dim inn&
    If Val(IPL) > 2147483647 Then
        inn = Val(IPL) - 4294967296#
    Else
        inn = Val(IPL)
    End If
    inn = ntohl(inn)
    retString = String(32, 0)
    lpStr = inet_ntoa(inn)
    If lpStr = 0 Then
        IrcGetAscIp = "0.0.0.0"
        Exit Function
    End If
    nStr = lstrlen(lpStr)
    If nStr > 32 Then nStr = 32
    MemCopy ByVal retString, ByVal lpStr, nStr
    retString = Left(retString, nStr)
    IrcGetAscIp = retString
    Exit Function
IrcGetAscIPError:
    IrcGetAscIp = "0.0.0.0"
    Exit Function
    Resume
End Function

Function IrcGetLongIp(ByVal AscIp$) As String
    'this function converts an ascii ip string into a long ip in network byte order
    'and stick it in a string suitable for use in a DCC command.
    On Error GoTo IrcGetLongIpError:
    Dim inn&
    inn = inet_addr(AscIp)
    inn = htonl(inn)
    If inn < 0 Then
        IrcGetLongIp = CVar(inn + 4294967296#)
        Exit Function
    Else
        IrcGetLongIp = CVar(inn)
        Exit Function
    End If
    Exit Function
IrcGetLongIpError:
    IrcGetLongIp = "0"
    Exit Function
    Resume
End Function

Public Function ListenForConnect(ByVal Port&, ByVal HWndToMsg&) As Long
    Dim s&, dummy&
    Dim SelectOps&
    Dim sockin As sockaddr
    sockin = saZero     'zero out the structure
    sockin.sin_family = AF_INET
    sockin.sin_port = htons(Port)
    If sockin.sin_port = INVALID_SOCKET Then
        ListenForConnect = INVALID_SOCKET
        Exit Function
    End If
    sockin.sin_addr = htonl(INADDR_ANY)
    If sockin.sin_addr = INADDR_NONE Then
        ListenForConnect = INVALID_SOCKET
        Exit Function
    End If
    s = socket(PF_INET, SOCK_STREAM, 0)
    If s < 0 Then
        ListenForConnect = INVALID_SOCKET
        Exit Function
    End If
    If bind(s, sockin, sockaddr_size) Then
        If s > 0 Then
            dummy = closesocket(s)
        End If
        ListenForConnect = INVALID_SOCKET
        Exit Function
    End If
    SelectOps = FD_READ Or FD_WRITE Or FD_CLOSE Or FD_ACCEPT
    If WSAAsyncSelect(s, HWndToMsg, ByVal 1025, ByVal SelectOps) Then
        If s > 0 Then
            dummy = closesocket(s)
        End If
        ListenForConnect = SOCKET_ERROR
        Exit Function
    End If
    
    If listen(s, 1) Then
        If s > 0 Then
            dummy = closesocket(s)
        End If
        ListenForConnect = INVALID_SOCKET
        Exit Function
    End If
    ListenForConnect = s
End Function

Public Function SendData(ByVal s&, vMessage As Variant) As Long
    Dim TheMsg() As Byte, sTemp$
    TheMsg = ""
    Select Case VarType(vMessage)
        Case 8209   'byte array
            sTemp = vMessage
            TheMsg = sTemp
        Case 8      'string, if we recieve a string, its assumed we are linemode
                sTemp = StrConv(vMessage, vbFromUnicode)
        Case Else
            sTemp = CStr(vMessage)
                sTemp = StrConv(vMessage, vbFromUnicode)
    End Select
    TheMsg = sTemp
    If UBound(TheMsg) > -1 Then
        SendData = send(s, TheMsg(0), UBound(TheMsg) + 1, 0)
    End If
End Function

Public Function SockAddressToString(sa As sockaddr) As String
    SockAddressToString = GetAscIP(sa.sin_addr) & ":" & ntohs(sa.sin_port)
End Function

Public Function StartWinsock(sDescription As String) As Boolean
    Dim StartupData As WSADataType
    If Not WSAStartedUp Then
        If Not WSAStartup(&H101, StartupData) Then
            WSAStartedUp = True
            Debug.Print "wVersion="; StartupData.wVersion, "wHighVersion="; StartupData.wHighVersion
            Debug.Print "If wVersion == 257 then everything is kewl"
            Debug.Print "szDescription="; StartupData.szDescription
            Debug.Print "szSystemStatus="; StartupData.szSystemStatus
            Debug.Print "iMaxSockets="; StartupData.iMaxSockets, "iMaxUdpDg="; StartupData.iMaxUdpDg
            sDescription = StartupData.szDescription
        Else
            WSAStartedUp = False
        End If
    End If
    StartWinsock = WSAStartedUp
End Function

Public Function WSAMakeSelectReply(TheEvent%, TheError%) As Long
    WSAMakeSelectReply = (TheError * &H10000) + (TheEvent And &HFFFF&)
End Function


?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩亚洲欧美综合| 亚洲欧洲精品一区二区精品久久久 | 91麻豆精品国产91| 亚洲成人777| 91在线免费看| 久久久国产精华| 亚洲精品国产成人久久av盗摄 | 国产精品天干天干在观线| 婷婷夜色潮精品综合在线| 欧美日韩亚洲国产综合| 日韩电影在线免费看| 91成人国产精品| 久久精品人人做| 欧美一区二区三区视频免费| 日本午夜精品视频在线观看| 黄网站免费久久| a级高清视频欧美日韩| 国产夜色精品一区二区av| 中文成人av在线| 色婷婷一区二区三区四区| 一区二区三区欧美亚洲| 99精品国产一区二区三区不卡| 欧美午夜宅男影院| 亚洲午夜一区二区三区| 4438成人网| 日韩三级伦理片妻子的秘密按摩| 性做久久久久久| 97精品久久久久中文字幕| 国产精品毛片久久久久久久| 男人的天堂亚洲一区| 91精品一区二区三区久久久久久| 一区二区三区高清在线| 波多野结衣一区二区三区 | 亚洲成人在线网站| 678五月天丁香亚洲综合网| 免费在线观看不卡| 欧美大片拔萝卜| 国产99久久久国产精品免费看| 国产欧美va欧美不卡在线| 91麻豆免费看片| 亚洲成在线观看| 精品少妇一区二区三区视频免付费| 精品一区二区免费视频| 欧美国产激情二区三区| 91国内精品野花午夜精品| 性久久久久久久久久久久| 精品国产乱子伦一区| 成人av在线播放网址| 亚洲成人av电影在线| 精品国产乱码久久久久久蜜臀| 成人精品视频网站| 亚洲一区欧美一区| 亚洲精品在线一区二区| 97久久超碰国产精品| 日韩中文字幕亚洲一区二区va在线| 日韩免费高清电影| 91色在线porny| 蜜桃精品在线观看| 国产精品午夜久久| 欧美久久久影院| 国产福利精品导航| 亚洲国产成人精品视频| 精品福利在线导航| 色香蕉久久蜜桃| 精品写真视频在线观看| 亚洲天堂久久久久久久| 4438成人网| 99久久伊人精品| 蜜芽一区二区三区| 亚洲人成在线播放网站岛国| 91精品国产一区二区三区 | 久久91精品久久久久久秒播| 国产精品国产精品国产专区不片| 欧美日韩大陆一区二区| 国产精品亚洲专一区二区三区| 亚洲一二三四在线| 久久久久97国产精华液好用吗| 在线这里只有精品| 国产一区二区三区| 天堂成人国产精品一区| 国产精品拍天天在线| 日韩午夜激情视频| 欧亚一区二区三区| 国产不卡视频在线观看| 日韩和欧美一区二区三区| 国产精品传媒入口麻豆| 日韩久久久精品| 在线看国产日韩| 成人国产精品免费观看动漫| 久久成人综合网| 午夜精品aaa| 亚洲视频图片小说| 国产日韩三级在线| 日韩一区二区三区三四区视频在线观看 | 亚洲一区二区偷拍精品| 国产精品免费网站在线观看| 欧美电影免费观看高清完整版在线 | 免费人成网站在线观看欧美高清| 中文字幕在线不卡视频| 久久久国际精品| 7777精品伊人久久久大香线蕉的 | 8x8x8国产精品| 91蜜桃在线免费视频| 国产美女在线精品| 蜜臀久久99精品久久久画质超高清| 亚洲制服丝袜一区| 亚洲天堂免费看| 中文字幕av不卡| 久久亚洲春色中文字幕久久久| 欧美精品v日韩精品v韩国精品v| 一本色道综合亚洲| 99在线视频精品| 粉嫩绯色av一区二区在线观看| 久久91精品久久久久久秒播| 日欧美一区二区| 五月婷婷综合激情| 亚洲国产综合色| 尤物av一区二区| 亚洲码国产岛国毛片在线| 中文字幕一区二区三区乱码在线| 国产日韩亚洲欧美综合| 久久亚洲精华国产精华液| 精品国产乱码久久久久久久| 日韩免费一区二区| 欧美一区二区三区的| 91精品国产色综合久久不卡蜜臀| 欧美日韩一区二区电影| 欧洲激情一区二区| 91精品福利视频| 91国产丝袜在线播放| 在线观看国产精品网站| 欧洲一区在线观看| 精品视频1区2区| 91精品婷婷国产综合久久| 欧美一区二区视频网站| 欧美一区二区三区播放老司机| 制服丝袜亚洲播放| 日韩一区二区三区精品视频| 91麻豆精品国产91久久久久| 日韩一区二区电影网| 日韩欧美国产一区在线观看| 精品国产一区二区三区av性色| 日韩精品一区二区三区三区免费 | 精品少妇一区二区| 欧美一卡在线观看| 精品乱人伦小说| 国产亚洲欧美一区在线观看| 久久精品亚洲麻豆av一区二区| 久久理论电影网| 久久女同精品一区二区| 久久精品免视看| 日韩伦理免费电影| 亚洲国产精品一区二区www| 日韩高清不卡在线| 久久精品国产99国产| 国产精品亚洲成人| av亚洲产国偷v产偷v自拍| 91黄色激情网站| 91精品国产日韩91久久久久久| 日韩免费看网站| 中文字幕不卡的av| 亚洲精品成人精品456| 亚洲chinese男男1069| 精品中文字幕一区二区| 国产成人精品午夜视频免费| 91免费国产视频网站| 欧美剧在线免费观看网站| 日韩精品综合一本久道在线视频| 国产片一区二区| 一区二区成人在线| 久久国产视频网| 99免费精品视频| 91精品国产综合久久婷婷香蕉| 精品国产91亚洲一区二区三区婷婷| 国产精品你懂的在线欣赏| 亚洲午夜免费视频| 国产在线精品一区二区夜色| 91在线你懂得| 91精品国产乱| 中文字幕 久热精品 视频在线 | 国产成人精品aa毛片| 91美女在线观看| 欧美一级免费大片| 国产精品理论片在线观看| 午夜av一区二区三区| 国产91清纯白嫩初高中在线观看| 欧美午夜精品久久久| 久久影院视频免费| 亚洲影院理伦片| 国产一区二区三区免费在线观看| 97aⅴ精品视频一二三区| 日韩视频中午一区| 亚洲欧美日韩久久| 精品中文av资源站在线观看| 91丝袜呻吟高潮美腿白嫩在线观看| 69久久夜色精品国产69蝌蚪网 | 日韩你懂的在线播放| 亚洲人成亚洲人成在线观看图片| 喷白浆一区二区| 色综合激情五月|