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

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

?? winsock.bas

?? 本文件包含三本經典的網絡編程書籍 一本是英文的。并附有其中的所有實例源碼。 本著來源于網絡
?? 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一区二区三区免费野_久草精品视频
日韩一区二区电影| 亚洲美女视频在线观看| 亚洲欧美在线另类| 免费在线成人网| 在线视频国产一区| 国产精品久久久久久久裸模| 日本sm残虐另类| 在线影视一区二区三区| 国产日韩欧美高清| 精品一区二区三区日韩| 欧美久久一二区| 一区二区三区电影在线播| 国产精品亚洲午夜一区二区三区 | 国产日产欧美一区二区三区| 天天影视色香欲综合网老头| av在线免费不卡| 欧美—级在线免费片| 国内精品久久久久影院一蜜桃| 欧美日韩一区二区三区四区| 亚洲欧洲日韩在线| 成人中文字幕合集| 久久久国际精品| 在线观看日韩精品| 国产精品久久久久9999吃药| 国产高清无密码一区二区三区| 欧美一区二区大片| 蜜桃一区二区三区在线观看| 制服视频三区第一页精品| 午夜精品福利一区二区蜜股av| 欧美无砖专区一中文字| 一区二区三区四区在线免费观看| 91丨九色丨黑人外教| 亚洲视频在线一区观看| 91影院在线观看| 亚洲免费av在线| 懂色av中文一区二区三区| 欧美不卡123| 国产福利一区二区三区视频在线| 欧美经典一区二区| 91美女在线视频| 亚洲一二三四区不卡| 91成人免费电影| 午夜亚洲国产au精品一区二区| 欧美午夜免费电影| 日本午夜精品视频在线观看| 精品免费视频.| 国产精品一级二级三级| 日韩美女精品在线| 欧美欧美欧美欧美首页| 蜜桃精品在线观看| 国产三级三级三级精品8ⅰ区| 国产一区二区影院| 日韩理论片在线| 亚洲色图在线播放| 一本一本久久a久久精品综合麻豆 一本一道波多野结衣一区二区 | 久久99国产精品麻豆| 久久影院午夜论| 97精品久久久久中文字幕 | 色婷婷精品久久二区二区蜜臀av| 亚洲国产成人av网| 国产色一区二区| 在线观看日韩精品| 国产一区二三区| 亚洲精品国久久99热| 日韩一区二区三区在线视频| 成人白浆超碰人人人人| 图片区小说区国产精品视频| 国产视频一区在线播放| 精品视频免费在线| 国产高清不卡二三区| 亚洲综合小说图片| 国产日韩欧美一区二区三区综合| 在线观看亚洲成人| 丁香另类激情小说| 蜜臀久久99精品久久久久久9 | 午夜亚洲国产au精品一区二区| 欧美不卡在线视频| 欧美专区亚洲专区| av亚洲精华国产精华精华| 青青青爽久久午夜综合久久午夜 | www.亚洲色图.com| 久久99精品久久久久久国产越南 | 久久狠狠亚洲综合| 亚洲午夜久久久久中文字幕久| 日本一区二区三区在线不卡| 宅男在线国产精品| 在线日韩一区二区| a美女胸又www黄视频久久| 精品一区二区综合| 日本不卡1234视频| 亚洲福利一区二区三区| 亚洲色大成网站www久久九九| 精品电影一区二区| 欧美一级日韩一级| 在线播放中文字幕一区| 在线免费一区三区| 在线观看视频一区二区| 91免费观看视频在线| 成人美女在线视频| 成人综合在线视频| 国产高清不卡一区二区| 久久电影网电视剧免费观看| 日韩福利视频网| 日韩精品一卡二卡三卡四卡无卡| 亚洲狠狠丁香婷婷综合久久久| 亚洲欧洲99久久| 国产精品久久99| 韩国在线一区二区| 麻豆精品视频在线观看| 亚洲成人免费视| 天天av天天翘天天综合网| 亚洲一区二区三区四区中文字幕| 亚洲色图都市小说| 亚洲国产欧美在线人成| 一区二区久久久| 午夜影院久久久| 日韩高清不卡在线| 精品无人码麻豆乱码1区2区 | 五月婷婷另类国产| 日韩制服丝袜av| 麻豆成人av在线| 激情综合网av| 国产成人免费高清| 99久久99久久免费精品蜜臀| av在线播放成人| 欧美午夜一区二区| 日韩午夜激情视频| 国产网站一区二区| 中文字幕一区二区日韩精品绯色| 亚洲美女淫视频| 日韩av高清在线观看| 精品一区二区三区在线观看 | 91精品欧美综合在线观看最新 | 国产综合色在线视频区| 国产综合久久久久久鬼色| 成人中文字幕电影| 91激情五月电影| 欧美v日韩v国产v| 国产精品家庭影院| 亚洲午夜三级在线| 九九久久精品视频| 91在线免费看| 91精品国产色综合久久不卡蜜臀 | 99国产精品国产精品毛片| 色婷婷久久综合| 日韩精品中午字幕| 中文字幕一区二区日韩精品绯色| 亚洲成va人在线观看| 国产真实精品久久二三区| 99re6这里只有精品视频在线观看 99re8在线精品视频免费播放 | 在线视频观看一区| 欧美tickle裸体挠脚心vk| 中文字幕中文字幕一区二区| 夜夜精品视频一区二区| 狠狠色丁香婷婷综合| 色国产综合视频| 精品国产制服丝袜高跟| 一区二区三区四区亚洲| 久久99九九99精品| 欧美日韩在线三级| 中文字幕欧美国产| 日本欧美在线看| 91免费观看国产| 久久综合九色欧美综合狠狠| 亚洲国产欧美在线| 成人av网站在线观看免费| 欧美成人精品高清在线播放| 亚洲天堂av老司机| 国产九色sp调教91| 日韩一区二区精品| 亚洲国产精品综合小说图片区| 国产麻豆精品一区二区| 在线成人av影院| 一区二区三区美女| 91在线视频18| 国产精品久久精品日日| 国产成人在线影院| 欧美白人最猛性xxxxx69交| 亚洲一区在线看| 波多野结衣91| 国产精品视频线看| 国产精品12区| 亚洲精品在线三区| 久久精品国产一区二区三| 欧美日韩国产成人在线91| 亚洲激情网站免费观看| 成人听书哪个软件好| 国产亚洲一本大道中文在线| 看电视剧不卡顿的网站| 91精品国产91久久久久久最新毛片| 亚洲色图欧美偷拍| 91麻豆swag| 一区二区三区日本| 欧美午夜宅男影院| 一区二区三区日本| 欧美三电影在线| 亚洲成人av电影| 日韩一区二区三区免费看 | 久久免费视频色| 国产一区二区h|