亚洲欧美第一页_禁久久精品乱码_粉嫩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一区二区三区免费野_久草精品视频
欧美一级日韩免费不卡| 亚洲资源在线观看| 色猫猫国产区一区二在线视频| 美脚の诱脚舐め脚责91| 亚洲成人动漫av| 一区二区三区在线视频观看| 中文字幕在线不卡一区 | 亚洲国产综合91精品麻豆| 亚洲欧美另类小说| 一个色在线综合| 国产激情视频一区二区三区欧美 | 在线亚洲欧美专区二区| 久久不见久久见免费视频7| 亚洲成av人片一区二区| 成人精品一区二区三区中文字幕| 国产成人福利片| 欧美一区二区日韩一区二区| 亚洲视频一区二区在线| 午夜精品久久久久久久99水蜜桃 | 国产午夜亚洲精品理论片色戒| 久久尤物电影视频在线观看| 久久久99久久| 极品少妇xxxx精品少妇| 99精品国产99久久久久久白柏| 91香蕉视频mp4| 欧美日韩亚洲另类| 日韩一区二区麻豆国产| 久久精品综合网| 精品无人码麻豆乱码1区2区| 日韩一区二区不卡| 日韩高清不卡一区二区| 国产成a人亚洲精| 欧美性生交片4| 国产亚洲欧美日韩日本| 激情文学综合插| 色诱亚洲精品久久久久久| 欧美丰满一区二区免费视频| 久久精品无码一区二区三区| 久久爱另类一区二区小说| 欧美一区二区播放| 九九**精品视频免费播放| 日韩三级视频在线观看| 激情综合一区二区三区| 国产精品不卡一区二区三区| 亚洲国产成人av网| 欧美剧情片在线观看| 亚洲成人在线免费| 6080yy午夜一二三区久久| 中国色在线观看另类| 青青草伊人久久| 色综合天天综合| 国产女人18毛片水真多成人如厕 | 99精品在线观看视频| 亚洲天堂久久久久久久| 欧洲色大大久久| 天天色 色综合| www国产成人免费观看视频 深夜成人网 | 亚洲国产日韩综合久久精品| 欧美日韩亚洲丝袜制服| 精品写真视频在线观看| 国产精品第13页| 欧美人动与zoxxxx乱| 亚洲色大成网站www久久九九| 在线日韩一区二区| 蜜桃视频在线观看一区二区| 国产日产欧美一区二区三区| 在线免费观看不卡av| 麻豆中文一区二区| 亚洲欧美日韩久久| 日韩一区二区三区免费看 | 亚洲国产精品激情在线观看| 日韩国产精品久久久| 精品国产免费视频| 久久精品99国产精品日本| 中文字幕二三区不卡| 精品婷婷伊人一区三区三| 精彩视频一区二区三区| 亚洲精品精品亚洲| 色综合久久综合网欧美综合网| 天涯成人国产亚洲精品一区av| 国产夜色精品一区二区av| 精品国产a毛片| 日本韩国精品一区二区在线观看| 日本aⅴ免费视频一区二区三区| 国产精品嫩草99a| 日韩欧美成人一区二区| 久久99精品久久久久| 亚洲激情五月婷婷| 国产欧美在线观看一区| 91精品国产综合久久香蕉的特点| 顶级嫩模精品视频在线看| 视频在线观看91| 欧美草草影院在线视频| 国产在线视频一区二区| 亚洲成人动漫在线免费观看| 1024亚洲合集| 国产精品嫩草久久久久| 精品成人一区二区| 日韩一区二区免费在线电影| 在线观看成人小视频| 99精品黄色片免费大全| 东方aⅴ免费观看久久av| 国产精品一区在线观看你懂的| 欧美激情一区二区三区蜜桃视频| 日韩一区二区三区观看| 欧美久久高跟鞋激| 欧美中文字幕一二三区视频| 91蝌蚪porny成人天涯| voyeur盗摄精品| 日韩成人一级大片| 亚洲成人高清在线| 亚洲国产aⅴ成人精品无吗| 亚洲欧美日韩人成在线播放| 亚洲欧洲av色图| 1000精品久久久久久久久| 国产精品福利一区| 中文字幕日本乱码精品影院| 国产精品久久久久久久蜜臀| 中文字幕欧美三区| 一区在线观看免费| 亚洲猫色日本管| 亚洲一区在线视频观看| 亚洲一二三区视频在线观看| 亚洲成人综合在线| 日韩av电影天堂| 精品在线观看视频| 高清不卡在线观看av| 成人18视频在线播放| 久久综合综合久久综合| 精东粉嫩av免费一区二区三区| 激情综合色综合久久| 国产福利一区二区三区视频| 高潮精品一区videoshd| 99久久国产综合精品色伊| 91激情在线视频| 欧美一区二区日韩| 久久久久成人黄色影片| 欧美一区二区二区| 国产色综合一区| 亚洲免费电影在线| 日本sm残虐另类| 国产成人免费视频精品含羞草妖精 | 国产suv精品一区二区三区| 成人久久18免费网站麻豆| 日本韩国一区二区三区视频| 在线播放中文一区| 久久九九久精品国产免费直播| 日韩一区中文字幕| 免费av成人在线| 成人激情免费视频| 欧美群妇大交群的观看方式| 精品免费国产一区二区三区四区| 国产精品网站一区| 午夜精品久久久久| 成人av资源在线| 777午夜精品免费视频| 国产欧美一区二区精品婷婷| 亚洲国产中文字幕| 国产成a人亚洲| 91精品国产综合久久福利| 国产精品狼人久久影院观看方式| 亚洲第一狼人社区| 国产成人激情av| 在线综合视频播放| 自拍偷在线精品自拍偷无码专区| 日本少妇一区二区| 色综合久久88色综合天天| 精品国产伦一区二区三区观看体验 | 精品久久人人做人人爱| 尤物视频一区二区| 成人免费毛片嘿嘿连载视频| 欧美一级欧美一级在线播放| 亚洲视频中文字幕| 国产成人在线视频免费播放| 欧美亚洲动漫另类| 综合婷婷亚洲小说| 国产**成人网毛片九色 | 国产精品美女久久久久aⅴ国产馆| 亚洲综合色网站| av亚洲精华国产精华| 精品国产区一区| 蜜臀av性久久久久蜜臀aⅴ| 欧美亚洲综合网| 亚洲欧美日韩国产综合在线| 粉嫩aⅴ一区二区三区四区| 欧美大白屁股肥臀xxxxxx| 一区二区三国产精华液| www.成人网.com| 欧美激情资源网| 国产精品羞羞答答xxdd| 精品久久久久久无| 蜜桃精品视频在线观看| 欧美一区二区三区在线视频| 亚洲伊人伊色伊影伊综合网| 一本大道av一区二区在线播放| 国产精品视频麻豆| 成人av影院在线| 国产精品伦理在线| 成人激情黄色小说| 亚洲欧美一区二区三区国产精品|