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

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

?? winsock.bas

?? 《Windows網絡編程技術》配套代碼, 給有此書而沒有配套代碼的朋友.
?? BAS
?? 第 1 頁 / 共 3 頁
字號:
Global Const NS_SAP = 1
Global Const NS_NDS = 2
Global Const NS_PEER_BROWSE = 3

Global Const NS_TCPIP_LOCAL = 10
Global Const NS_TCPIP_HOSTS = 11
Global Const NS_DNS = 12
Global Const NS_NETBT = 13
Global Const NS_WINS = 14

Global Const NS_NBP = 20

Global Const NS_MS = 30
Global Const NS_STDA = 31
Global Const NS_NTDS = 32

Global Const NS_X500 = 40
Global Const NS_NIS = 41
Global Const NS_NISPLUS = 42

Global Const NS_WRQ = 50

Type WSANAMESPACE_INFO
    NSProviderId As GUID
    dwNameSpace As Long
    fActive As Long
    dwVersion As Long
    lpszIdentifier As Long
End Type

Type sockaddr
    sin_family As Integer
    sin_port As Integer
    sin_addr As Long
    sin_zero As String * 8
End Type
Global Const sockaddr_size = 16

Type HostEnt
    h_name As Long
    h_aliases As Long
    h_addrtype As Integer
    h_length As Integer
    h_addr_list As Long
End Type
Global Const hostent_size = 16

Global Const WSA_DESCRIPTIONLEN = 256
Global Const WSA_DescriptionSize = WSA_DESCRIPTIONLEN + 1
Global Const WSA_SYS_STATUS_LEN = 128
Global Const WSA_SysStatusSize = WSA_SYS_STATUS_LEN + 1

Type WSADataType
    wVersion As Integer
    wHighVersion As Integer
    szDescription As String * WSA_DescriptionSize
    szSystemStatus As String * WSA_SysStatusSize
    iMaxSockets As Integer
    iMaxUdpDg As Integer
    lpVendorInfo As Long
End Type

Type LingerType
    l_onoff As Integer
    l_linger As Integer
End Type


Global Const FD_READ_BIT = 0
Global Const FD_READ = 1         ''(1 << FD_READ_BIT)

Global Const FD_WRITE_BIT = 1
Global Const FD_WRITE = &H2        ''(1 << FD_WRITE_BIT)

Global Const FD_OOB_BIT = 2
Global Const FD_OOB = &H4          '(1 << FD_OOB_BIT)

Global Const FD_ACCEPT_BIT = 3
Global Const FD_ACCEPT = &H8       '(1 << FD_ACCEPT_BIT)

Global Const FD_CONNECT_BIT = 4
Global Const FD_CONNECT = &H10      '(1 << FD_CONNECT_BIT)

Global Const FD_CLOSE_BIT = 5
Global Const FD_CLOSE = &H20       '(1 << FD_CLOSE_BIT)

Global Const FD_QOS_BIT = 6
Global Const FD_QOS = &H40          '(1 << FD_QOS_BIT)

Global Const FD_GROUP_QOS_BIT = 7
Global Const FD_GROUP_QOS = &H80   '(1 << FD_GROUP_QOS_BIT)

Global Const FD_ROUTING_INTERFACE_CHANGE_BIT = 8
Global Const FD_ROUTING_INTERFACE_CHANGE = &H100     '(1 << FD_ROUTING_INTERFACE_CHANGE_BIT)

Global Const FD_ADDRESS_LIST_CHANGE_BIT = 9
Global Const FD_ADDRESS_LIST_CHANGE = &H200   '(1 << FD_ADDRESS_LIST_CHANGE_BIT)

Global Const FD_MAX_EVENTS = 10
Global Const FD_ALL_EVENTS = &H3FF     '(1 << FD_MAX_EVENTS) - 1)


Type WSANETWORKEVENTS
    lNetWorkEvents As Long
    iErrorCode(FD_MAX_EVENTS - 1) As Long
End Type

Global Const WSA_WAIT_FAILED = &HFFFFFFFF
Global Const WSA_WAIT_EVENT_0 = 0
Global Const WSA_WAIT_TIMEOUT = &H102

Public Const GMEM_FIXED = &H0
Public Declare Function GlobalAlloc Lib "Kernel32" (ByVal wFlags As Long, ByVal dwBytes As Long) As Long
Public Declare Function GlobalFree Lib "Kernel32" (ByVal hMem As Long) As Long
Public Declare Sub CopyMemory Lib "Kernel32" Alias "RtlMoveMemory" (dest As Any, src As Any, ByVal cb As Long)
Public Declare Sub CopyMemory2 Lib "Kernel32" Alias "RtlMoveMemory" (dest As Any, ByVal src As Long, ByVal cb As Long)
Public Declare Sub CopyMemory3 Lib "Kernel32" Alias "RtlMoveMemory" (dest As Long, ByVal src As Long, ByVal cb As Long)
Public Declare Sub ZeroMemory Lib "Kernel32" Alias "RtlZeroMemory" (dest As Any, ByVal numBytes As Long)
Public Declare Function StringFromGUID2 Lib "ole32.dll" (pGUID As GUID, ByVal _
PointerToString As String, ByVal MaxLength As Long) As Long
Public Declare Function lstrcpy Lib "Kernel32" Alias "lstrcpyA" (ByVal lpString1 As String, lpString2 As Byte) As Long
Public Declare Function lstrlen Lib "Kernel32" Alias "lstrlenA" (ByVal lpString As String) As Long
Public Declare Function lstrcpy1 Lib "Kernel32" Alias "lstrcpyA" (ByVal lpString1 As String, ByVal lpString2 As Long) As Long
Public Declare Function GetCurrentProcessId Lib "Kernel32" () As Long
Public Declare Function GetTickCount Lib "Kernel32" () As Long
Public Declare Function Sleep Lib "Kernel32" (ByVal dwMilliseconds As Long) As Long

Declare Function getsockname Lib "ws2_32.DLL" (ByVal s As Long, sname As sockaddr, namelen As Long) As Long
Declare Function WSAStartup Lib "ws2_32.DLL" (ByVal wVR As Long, lpWSAD As WSADataType) As Long
Declare Function WSACleanup Lib "ws2_32.DLL" () As Long
Declare Function bind Lib "ws2_32.DLL" (ByVal s As Long, addr As sockaddr, ByVal namelen As Long) As Long
Declare Function accept Lib "ws2_32.DLL" (ByVal s As Long, addr As sockaddr, namelen As Long) As Long
Declare Function socket Lib "ws2_32.DLL" (ByVal af As Long, ByVal s_type As Long, ByVal protocol As Long) As Long
Declare Function WSASocket Lib "ws2_32.DLL" Alias "WSASocketA" (ByVal af As Long, ByVal s_type As Long, ByVal protocol As Long, lpProtocolInfo As Any, ByVal g As Long, ByVal dwFlags As Long) As Long
Declare Function closesocket Lib "ws2_32.DLL" (ByVal s As Long) As Long
Declare Function connect Lib "ws2_32.DLL" (ByVal s As Long, addr As sockaddr, ByVal namelen As Long) As Long
Declare Function gethostbyname Lib "ws2_32.DLL" (ByVal host_name As String) As Long
Declare Function gethostbyaddr Lib "ws2_32.DLL" (addr As Any, ByVal nlen As Long, ByVal ntype As Long) As Long
Declare Function gethostname Lib "ws2_32.DLL" (ByVal host_name As String, ByVal namelen As Long) As Long
Declare Function recv Lib "ws2_32.DLL" (ByVal s As Long, Buf As Any, ByVal buflen As Long, ByVal flags As Long) As Long
Declare Function recvfrom Lib "ws2_32.DLL" (ByVal s As Long, Buf As Any, ByVal buflen As Long, ByVal flags As Long, from As sockaddr, fromlen As Long) As Long
Declare Function send Lib "ws2_32.DLL" (ByVal s As Long, Buf As Any, ByVal buflen As Long, ByVal flags As Long) As Long
Declare Function sendto Lib "ws2_32.DLL" (ByVal s As Long, Buf As Any, ByVal buflen As Long, ByVal flags As Long, to_addr As Any, ByVal tolen As Long) As Long
Declare Function htonl Lib "ws2_32.DLL" (ByVal hostlong As Long) As Long
Declare Function htons Lib "ws2_32.DLL" (ByVal hostshort As Long) As Integer
Declare Function ntohs Lib "ws2_32.DLL" (ByVal netshort As Long) As Integer
Declare Function ntohl Lib "ws2_32.DLL" (ByVal netlong As Long) As Long
Declare Function inet_addr Lib "ws2_32.DLL" (ByVal cp As String) As Long
Declare Function inet_ntoa Lib "ws2_32.DLL" (ByVal in_n As Long) As Long
Declare Function setsockopt Lib "ws2_32.DLL" (ByVal s As Long, ByVal level As Long, ByVal optname As Long, optval As Long, ByVal optlen As Long) As Long
Declare Function setsockopt2 Lib "ws2_32.DLL" Alias "setsockopt" (ByVal s As Long, ByVal level As Long, ByVal optname As Long, optval As Any, ByVal optlen As Long) As Long
Declare Function getsockopt Lib "ws2_32.DLL" (ByVal s As Long, ByVal level As Long, ByVal optname As Long, optval As Long, optlen As Long) As Long
Declare Function getsockopt2 Lib "ws2_32.DLL" Alias "getsockopt" (ByVal s As Long, ByVal level As Long, ByVal optname As Long, optval As Any, optlen As Long) As Long
Declare Function listen Lib "ws2_32.DLL" (ByVal s As Long, ByVal backlog As Long) As Long
Declare Function WSAIoctl Lib "ws2_32.DLL" (ByVal s As Long, ByVal dwIoControlCode As Long, lpvInBuffer As Any, ByVal cbInBuffer As Long, _
     lpvOutBuffer As Any, ByVal cbOutBuffer As Long, lpcbBytesReturned As Long, lpOverlapped As Any, lpCompletionRoutine As Any) As Long
Declare Function WSAEnumProtocols Lib "ws2_32.DLL" Alias "WSAEnumProtocolsA" (ByVal lpiProtocols As Long, ByVal lpProtocolBuffer As Long, lpdwBufferLength As Long) As Long
'in VB, application should use Err.LastDllError to get last error of any API call
'Declare Function WSAGetLastError Lib "ws2_32.DLL" () As Long
Declare Function WSACreateEvent Lib "ws2_32.DLL" () As Long
Declare Function WSACloseEvent Lib "ws2_32.DLL" (ByVal hEvent As Long) As Boolean
Declare Function WSAEventSelect Lib "ws2_32.DLL" (ByVal s As Long, ByVal hEventOjbect As Long, ByVal lNetWorkEvents As Long) As Long
Declare Function WSAEnumNetworkEvents Lib "ws2_32.DLL" (ByVal s As Long, ByVal hEventOjbect As Long, lpNetWorkEvents As WSANETWORKEVENTS) As Long
Declare Function WSAWaitForMultipleEvents Lib "ws2_32.DLL" (ByVal cEvents As Long, _
    lphEvents As Long, ByVal fWaitAll As Boolean, _
    ByVal dwTimeOUT As Long, ByVal fAlertable As Boolean) As Long
Declare Function WSAResetEvent Lib "ws2_32.DLL" (ByVal hEvent As Long) As Boolean

Declare Function WSAEnumNameSpaceProviders Lib "ws2_32.DLL" Alias "WSAEnumNameSpaceProvidersA" (lpdwBufferLength As Long, ByVal lpnspBuffer As Long) As Boolean

Public Const ICMP_ECHO = 8
Public Const ICMP_ECHOREPLY = 0
Public Const ICMP_MIN = 8  'minimum 8 byte icmp packet (header)
Public Const IP_RECORD_ROUTE = 7

' The IP header
Type IpHeader
   h_len As Byte              ' length of the header and  Version of IP
   tos As Byte                ' Type of service
   total_len As Integer       ' total length of the packet
   ident As Integer           ' unique identifier
   frag_and_flags As Integer  ' flags
   ttl As Byte
   proto As Byte              ' protocol (TCP, UDP etc)
   CheckSum As Integer        ' IP checksum
   sourceIP As Long
   destIP As Long
End Type

' ICMP header
Type IcmpHeader
  i_type As Byte
  i_code As Byte
  i_cksum As Integer
  i_id As Integer
  i_seq As Integer
  timestamp As Long   '/* This is not the std header, but we reserve space for time */
End Type

' IP option header - user with socket option IP_OPTIONS
Type IpOptionHeader
    code As Byte        'option type
    len As Byte         'length of option hdr
    ptr As Byte         'offset into options
    addr(8) As Long     'list of IP addrs
End Type

Function GetHostByNameAlias(ByVal hostname As String) As Long
    On Error Resume Next
    'Return IP address as a long, in network byte order

    Dim phe As Long    ' pointer to host information entry
    Dim heDestHost As HostEnt 'hostent structure
    Dim addrList As Long
    Dim retIP As Long
    'first check to see if what we have been passed is a valid IP
    retIP = inet_addr(hostname)
    If retIP = INADDR_NONE Then
        'it wasn't an IP, so do a DNS lookup
        phe = gethostbyname(hostname)
        If phe <> 0 Then
            'Pointer is non-null, so copy in hostent structure
            CopyMemory heDestHost, ByVal phe, hostent_size
            'Now get first pointer in address list
            CopyMemory addrList, ByVal heDestHost.h_addr_list, 4
            CopyMemory retIP, ByVal addrList, heDestHost.h_length
        Else
            'its not a valid address
            retIP = INADDR_NONE
        End If
    End If
    GetHostByNameAlias = retIP
    If Err Then GetHostByNameAlias = INADDR_NONE
End Function

Public Function TCPIPStartup() As Boolean
  Dim rc As Integer   'Return code
  Dim wVersionRequested As Long   'Version requested for winsocks
  Dim WSAData As WSADataType          'Detais os winsock implementation
  
  wVersionRequested = &H202
  TCPIPStartup = True
  rc = WSAStartup(wVersionRequested, WSAData)
  If rc <> 0 Then
    MsgBox ("RC: " & rc & " Unable to start winsocks" & ", Error " & Err.LastDllError)
    Call TCPIPShutDown
    TCPIPStartup = False
    Exit Function
  End If

End Function

Public Function TCPIPShutDown() As Boolean
    WSACleanup
End Function

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
高清国产一区二区| 久久精品国产99久久6| 精品国产乱码久久久久久久久| 欧洲在线/亚洲| 97久久超碰国产精品| 成人免费视频app| 国产福利一区二区三区视频在线| 精品一区中文字幕| 久久91精品久久久久久秒播| 国产毛片精品视频| 捆绑变态av一区二区三区| 午夜伦理一区二区| 麻豆91在线播放| 麻豆一区二区99久久久久| 免费不卡在线视频| 国产麻豆91精品| 国产成人精品免费看| 成a人片亚洲日本久久| 91网站在线播放| 欧美日韩电影在线播放| 欧美一区二区在线不卡| 精品精品国产高清a毛片牛牛| 精品免费日韩av| 久久久久久电影| ...xxx性欧美| 天天影视网天天综合色在线播放| 天堂成人免费av电影一区| 精品中文字幕一区二区| 成人av综合一区| 欧美午夜精品久久久久久孕妇| 91精品国产综合久久久蜜臀粉嫩| 日韩欧美亚洲国产另类| 欧美国产激情一区二区三区蜜月| 亚洲免费高清视频在线| 日日摸夜夜添夜夜添国产精品| 国产在线精品免费| 91视频xxxx| 欧美va亚洲va| 亚洲精品成人在线| 狠狠色综合色综合网络| 91伊人久久大香线蕉| 日韩欧美一区二区免费| 亚洲欧美偷拍三级| 久久国产精品99久久久久久老狼| 99这里都是精品| 日韩精品资源二区在线| 亚洲欧美激情插| 激情综合网最新| 欧美性极品少妇| 中文一区二区在线观看| 日韩精品色哟哟| 一本久久综合亚洲鲁鲁五月天| 日韩一区二区三| 中文字幕亚洲区| 国产一区二三区| 在线91免费看| 一区二区三区高清不卡| 丰满少妇在线播放bd日韩电影| 欧美性猛交xxxx乱大交退制版| 国产日韩欧美精品一区| 久久精品免费看| 精品视频一区二区不卡| 综合自拍亚洲综合图不卡区| 极品销魂美女一区二区三区| 4hu四虎永久在线影院成人| 综合久久一区二区三区| 国产69精品一区二区亚洲孕妇| 日韩一区二区电影| 亚洲成人自拍一区| 欧美色图片你懂的| 亚洲欧美日韩国产综合| 不卡大黄网站免费看| 久久麻豆一区二区| 久久精品国产免费| 日韩欧美的一区| 看电影不卡的网站| 精品国精品自拍自在线| 日韩高清在线观看| 欧美一区二区三区思思人| 亚洲成人激情av| 精品视频在线免费看| 五月天一区二区| 欧美日韩高清一区二区三区| 一个色综合av| 欧美日韩精品二区第二页| 亚洲综合无码一区二区| 欧美日韩综合在线| 日韩国产精品91| 日韩免费高清av| 国产美女精品一区二区三区| 久久久久久久电影| av一二三不卡影片| 一区二区三区电影在线播| 欧美色涩在线第一页| 免费亚洲电影在线| 久久婷婷国产综合精品青草| 国产伦精一区二区三区| 国产精品萝li| 欧美三级电影在线看| 久久精品国产久精国产爱| 国产欧美日韩精品a在线观看| av在线播放成人| 偷窥少妇高潮呻吟av久久免费| 日韩一二三区视频| 粉嫩在线一区二区三区视频| 一区二区在线观看免费视频播放| 欧美日韩在线观看一区二区| 日本va欧美va精品| 欧美国产欧美亚州国产日韩mv天天看完整| av成人动漫在线观看| 亚洲视频在线观看一区| 91精品在线免费| 成人毛片老司机大片| 亚洲图片一区二区| 久久精品亚洲国产奇米99| 色偷偷久久人人79超碰人人澡| 婷婷综合久久一区二区三区| 国产色一区二区| 欧美午夜影院一区| 国产精品1区2区3区在线观看| 日韩激情中文字幕| 国产精品蜜臀av| 欧美一级片在线看| 一本大道综合伊人精品热热| 麻豆一区二区99久久久久| 亚洲毛片av在线| 精品国产乱码久久久久久老虎| 色婷婷亚洲一区二区三区| 久久99精品久久久久| 一区二区三区欧美久久| 国产亚洲1区2区3区| 欧美日韩大陆在线| 91免费观看视频| 国产一区二区毛片| 日韩激情一二三区| 亚洲精品大片www| 国产精品理论片| 欧美精品一区二区三区视频| 欧美日韩国产一级二级| 99riav久久精品riav| 国产精品99久久久久| 六月丁香婷婷色狠狠久久| 亚洲va欧美va国产va天堂影院| 国产精品大尺度| 国产三级精品在线| www激情久久| 日韩一级片网址| 欧美一区二区三区男人的天堂 | 色婷婷精品久久二区二区蜜臀av | 日本不卡一区二区三区高清视频| 亚洲天堂网中文字| 国产精品国产三级国产aⅴ中文 | 色婷婷国产精品综合在线观看| 成人免费视频视频在线观看免费 | 亚洲人精品午夜| 日本一区二区免费在线观看视频 | 中文在线一区二区| 久久久久久久久蜜桃| 久久综合九色综合欧美98| 日韩美女主播在线视频一区二区三区| 欧美三级资源在线| 555www色欧美视频| 欧美一区二区三区免费观看视频| 国产午夜精品一区二区三区视频 | 蜜桃91丨九色丨蝌蚪91桃色| 琪琪久久久久日韩精品| 精品无人区卡一卡二卡三乱码免费卡| 免费观看日韩电影| 激情伊人五月天久久综合| 国产精品亚洲专一区二区三区 | 久久精品一区八戒影视| 国产亚洲成年网址在线观看| 国产欧美日韩在线| 最新国产精品久久精品| 亚洲一二三专区| 欧美aⅴ一区二区三区视频| 久久精品二区亚洲w码| 国产精品一色哟哟哟| 91啪亚洲精品| 欧美一级理论片| 国产欧美视频一区二区三区| 亚洲精品乱码久久久久久| 免费观看在线色综合| 福利电影一区二区| 欧美三级乱人伦电影| 欧美xxxx在线观看| 成人欧美一区二区三区小说 | 美女视频黄 久久| 成人深夜视频在线观看| 欧美影视一区在线| 亚洲精品一区二区三区蜜桃下载| 欧美国产激情一区二区三区蜜月| 亚洲国产中文字幕| 国产精品一区二区在线观看不卡| 色综合一区二区| 欧美成人精品1314www| 亚洲男人天堂av| 国产一区激情在线| 欧美理论片在线| 中文av字幕一区|