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

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

?? winsock.bas

?? < WINDOWS網絡編程>>英文版,一本詳細講解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一区二区三区免费野_久草精品视频
一区二区三区精品在线观看| 日韩欧美国产三级| 国产成人在线电影| 乱中年女人伦av一区二区| 视频一区视频二区在线观看| 亚洲一二三四区不卡| 亚洲韩国精品一区| 午夜亚洲福利老司机| 天天综合天天做天天综合| 亚洲成人高清在线| 久久99这里只有精品| 国产一区二区三区观看| 国产成人啪午夜精品网站男同| 国产精品正在播放| 99精品视频在线播放观看| 欧洲av一区二区嗯嗯嗯啊| 欧美日韩一区 二区 三区 久久精品| 欧美性大战久久久久久久蜜臀 | 国内成人免费视频| 国产精品一区二区在线观看不卡| 粉嫩高潮美女一区二区三区| 白白色 亚洲乱淫| 在线观看一区不卡| 日韩免费观看高清完整版 | 午夜视频在线观看一区| 久草热8精品视频在线观看| 高清不卡一区二区| 欧美日韩精品一区二区三区| 日韩欧美在线影院| 亚洲欧美激情视频在线观看一区二区三区| 中文字幕综合网| 日本欧美在线观看| 成人av电影在线| 69堂成人精品免费视频| 国产日韩欧美不卡| 亚洲一区二区三区四区在线| 毛片av一区二区三区| 99国产麻豆精品| 欧美一级精品大片| 亚洲少妇30p| 国产精品一级在线| 欧美日韩三级视频| 国产精品久久久久久久久快鸭 | 欧美日韩国产免费| 国产精品乱码久久久久久| 日韩不卡手机在线v区| 99精品视频中文字幕| 26uuu国产电影一区二区| 亚洲午夜久久久久久久久久久| 国产一区二区伦理| 欧美日韩在线三级| 亚洲图片激情小说| 国产成人av一区二区| 日韩亚洲国产中文字幕欧美| 亚洲精品视频免费看| 国模一区二区三区白浆| 欧美色图片你懂的| 综合色中文字幕| 成人在线一区二区三区| 精品动漫一区二区三区在线观看| 亚洲美女偷拍久久| av亚洲产国偷v产偷v自拍| 久久综合国产精品| 久久精品国产澳门| 91精品国产综合久久久久| 亚洲与欧洲av电影| 日本丰满少妇一区二区三区| 欧美国产一区在线| 成人性生交大片免费看在线播放| 精品久久久久一区二区国产| 日韩国产一区二| 欧美精品亚洲二区| 日韩和欧美一区二区| 777xxx欧美| 青青草97国产精品免费观看| 91精选在线观看| 奇米在线7777在线精品| 日韩一区二区在线播放| 视频在线在亚洲| 91精品国产一区二区三区蜜臀| 日日欢夜夜爽一区| 91精品国产综合久久精品| 久久精品国产一区二区| 精品国产精品一区二区夜夜嗨| 精品亚洲国产成人av制服丝袜| 精品国产不卡一区二区三区| 国内欧美视频一区二区| 久久精品一区蜜桃臀影院| 福利视频网站一区二区三区| 国产免费久久精品| 日本道色综合久久| 奇米精品一区二区三区在线观看一| 在线不卡欧美精品一区二区三区| 五月激情综合网| 久久久亚洲午夜电影| 99久久伊人精品| 亚洲一区日韩精品中文字幕| 91精品国产综合久久久蜜臀图片| 国产毛片精品一区| 亚洲精品国产高清久久伦理二区| 欧美色国产精品| 国内精品国产成人| 亚洲蜜臀av乱码久久精品| 日韩一区二区电影网| 成熟亚洲日本毛茸茸凸凹| 亚洲一区二区三区影院| 久久久欧美精品sm网站| 色婷婷av一区二区三区之一色屋| 蜜臀va亚洲va欧美va天堂| 国产精品视频一区二区三区不卡| 在线视频一区二区三区| 激情综合网av| 亚洲主播在线播放| 日本一二三不卡| 欧美丰满少妇xxxbbb| 成人国产精品视频| 久久精品国产色蜜蜜麻豆| 中文字幕欧美三区| 337p亚洲精品色噜噜噜| 91麻豆免费观看| 九九精品视频在线看| 亚洲一区二区三区激情| 国产女人aaa级久久久级| 91精品国产aⅴ一区二区| 成人午夜电影久久影院| 麻豆91精品91久久久的内涵| 亚洲色图色小说| 国产色产综合色产在线视频| 91精品免费观看| 欧洲生活片亚洲生活在线观看| 国产精品综合一区二区| 免费久久精品视频| 亚洲成人在线观看视频| 亚洲乱码中文字幕| 国产欧美日韩不卡免费| 欧美大肚乱孕交hd孕妇| 欧美区视频在线观看| 日本精品一级二级| 色综合一区二区三区| av在线不卡电影| 不卡的av在线播放| 国产成人高清在线| 成人午夜在线视频| 成人美女视频在线观看| 国产精品主播直播| 精品在线一区二区| 国内精品国产成人| 国产一区 二区| 狠狠色丁香婷婷综合久久片| 麻豆国产欧美一区二区三区| 午夜精品福利一区二区三区蜜桃| 一区二区三区波多野结衣在线观看| 成人欧美一区二区三区白人| 国产精品拍天天在线| 中文字幕日韩av资源站| 中日韩av电影| 最新成人av在线| 亚洲一区视频在线观看视频| 午夜成人免费视频| 精品一二三四区| 国产超碰在线一区| 99这里都是精品| 91久久精品一区二区| 欧美日韩激情在线| 欧美成人女星排名| 久久久久国产免费免费| 中文字幕中文字幕中文字幕亚洲无线| 欧美国产精品劲爆| 亚洲国产精品久久人人爱蜜臀| 日韩精品一二区| 国产高清视频一区| 91论坛在线播放| 欧美男生操女生| 久久久高清一区二区三区| 亚洲丝袜自拍清纯另类| 亚洲国产精品综合小说图片区| 日本欧美一区二区在线观看| 国内精品伊人久久久久av影院| 粉嫩绯色av一区二区在线观看| 欧美体内she精视频| 欧美mv日韩mv国产| 亚洲人xxxx| 麻豆国产精品一区二区三区| 97久久久精品综合88久久| 欧美精品丝袜久久久中文字幕| 精品免费99久久| 综合欧美亚洲日本| 日av在线不卡| 91国在线观看| 久久亚洲精华国产精华液 | 日韩欧美一级二级| 国产精品欧美久久久久一区二区| 亚洲第一激情av| 成人禁用看黄a在线| 91精品国产丝袜白色高跟鞋| 国产精品另类一区| 另类小说视频一区二区| 色8久久精品久久久久久蜜| 久久久久九九视频| 美女任你摸久久|