亚洲欧美第一页_禁久久精品乱码_粉嫩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一区二区三区免费野_久草精品视频
91在线国内视频| 欧美精品三级在线观看| 91社区在线播放| 91精品国产综合久久精品性色| 国产欧美日韩久久| 久久国产视频网| 欧美色图天堂网| 日韩一区日韩二区| 国产精品白丝jk黑袜喷水| 欧美美女黄视频| 夜夜嗨av一区二区三区| 成人av网在线| 午夜视频久久久久久| 白白色 亚洲乱淫| 久久久久九九视频| 久久国产精品第一页| 欧美一区二区三区公司| 一区二区三区成人在线视频| 波多野结衣欧美| 国产农村妇女毛片精品久久麻豆 | 免费看日韩精品| 日本精品一区二区三区高清 | 亚洲免费观看高清完整版在线观看 | 777午夜精品免费视频| 亚洲一区二区三区小说| av成人免费在线| 亚洲色图.com| 色88888久久久久久影院野外| 综合激情网...| 99久久久精品| 亚洲裸体xxx| 91社区在线播放| 一区二区三区91| 欧美日韩三级一区二区| 亚洲午夜国产一区99re久久| 欧美调教femdomvk| 午夜一区二区三区视频| 91精品国产高清一区二区三区蜜臀| 亚洲亚洲人成综合网络| 欧美在线不卡一区| 午夜影院久久久| 日韩精品一区二区三区四区 | 亚洲综合区在线| 欧美日韩国产影片| 蜜桃av一区二区| 国产校园另类小说区| eeuss影院一区二区三区| 亚洲乱码精品一二三四区日韩在线 | 理论片日本一区| 国产农村妇女毛片精品久久麻豆 | 天天影视网天天综合色在线播放| 欧美男女性生活在线直播观看| 成人不卡免费av| 国产精品欧美久久久久无广告| 成人免费毛片片v| 亚洲一区二区三区在线播放| 91精品国产乱| av网站免费线看精品| 亚洲一区二区三区视频在线| 欧美一级二级三级蜜桃| 成人亚洲一区二区一| 夜夜精品视频一区二区| 日韩欧美在线一区二区三区| 国产精品18久久久久久久网站| 日韩一区欧美小说| 欧美一区二区视频免费观看| 国产一区二区免费视频| 一区二区三区精品| 日韩欧美国产一区在线观看| 国产精品123| 午夜不卡av在线| 国产精品色哟哟| 日韩女同互慰一区二区| 99精品久久久久久| 美女视频黄频大全不卡视频在线播放| 国产精品污污网站在线观看 | 亚洲特级片在线| 精品精品国产高清a毛片牛牛| 99久久精品国产毛片| 久久丁香综合五月国产三级网站| 日韩一区在线免费观看| 精品久久国产字幕高潮| 欧美在线免费播放| 不卡在线视频中文字幕| 精品一区二区三区在线视频| 亚洲一区精品在线| 国产三级欧美三级日产三级99| 欧美乱妇15p| 91老师国产黑色丝袜在线| 国产一区二区不卡在线| 丝袜美腿高跟呻吟高潮一区| 亚洲欧美一区二区三区久本道91| 久久伊99综合婷婷久久伊| 欧美日韩精品系列| 色婷婷狠狠综合| 99热精品一区二区| 国产99久久精品| 国产精品综合网| 另类小说视频一区二区| 日产精品久久久久久久性色| 亚洲免费观看视频| 亚洲欧美日韩国产中文在线| 国产亚洲精品中文字幕| 欧美v国产在线一区二区三区| 欧美视频在线不卡| 日本道精品一区二区三区| 国产成人午夜视频| 国产精品一区二区x88av| 国内精品自线一区二区三区视频| 蜜桃av噜噜一区| 久久国产精品72免费观看| 久久国产精品99久久人人澡| 青青国产91久久久久久| 日韩成人精品视频| 蜜桃视频在线一区| 毛片av一区二区| 精品一区二区三区免费| 久久国产视频网| 国产精品一区二区久久精品爱涩| 国产在线精品一区二区| 国产九九视频一区二区三区| 国产精品1区2区| 91丨九色丨黑人外教| 色视频成人在线观看免| 欧美午夜电影在线播放| 欧美精品色综合| 日韩精品一区二区在线观看| 久久久青草青青国产亚洲免观| 国产农村妇女精品| 一区二区三区国产精华| 日日摸夜夜添夜夜添亚洲女人| 日本伊人色综合网| 国精品**一区二区三区在线蜜桃| 国产馆精品极品| 色综合中文综合网| 91福利视频网站| 777色狠狠一区二区三区| 精品理论电影在线观看| 中文av字幕一区| 亚洲日本一区二区三区| 亚洲成av人在线观看| 久久精品99国产精品| 成人国产亚洲欧美成人综合网| 99综合电影在线视频| 欧美日本在线播放| 久久久蜜臀国产一区二区| 亚洲男同性恋视频| 免费观看91视频大全| 成人黄色大片在线观看| 欧美卡1卡2卡| 国产欧美精品一区二区色综合| 玉米视频成人免费看| 麻豆国产欧美日韩综合精品二区| 成人高清在线视频| 欧美日本视频在线| 国产三级精品三级| 亚洲福利一二三区| 国产精品18久久久久| 色综合久久综合网97色综合| 日韩一区二区中文字幕| 最新国产の精品合集bt伙计| 丝袜a∨在线一区二区三区不卡| 韩国精品在线观看| 欧美精品日韩一区| 亚洲色大成网站www久久九九| 国产综合一区二区| 欧美区一区二区三区| 中文字幕一区日韩精品欧美| 麻豆精品视频在线观看视频| 色婷婷久久99综合精品jk白丝| 久久你懂得1024| 日本美女视频一区二区| 91丝袜美腿高跟国产极品老师 | 日日摸夜夜添夜夜添亚洲女人| 国产一区二区三区精品欧美日韩一区二区三区 | 在线欧美一区二区| 亚洲国产激情av| 精品亚洲成a人在线观看| 欧美性大战久久久久久久| 欧美国产综合一区二区| 国产在线国偷精品产拍免费yy| 欧美日韩美少妇| 一区二区在线观看免费视频播放| 成人亚洲一区二区一| 亚洲精品一区二区三区香蕉| 日韩中文欧美在线| 欧美性感一区二区三区| 综合分类小说区另类春色亚洲小说欧美| 国内国产精品久久| 欧美电视剧在线看免费| 婷婷久久综合九色综合伊人色| 91亚洲精华国产精华精华液| 中文在线资源观看网站视频免费不卡| 经典三级一区二区| 精品福利一区二区三区免费视频| 秋霞电影一区二区| 精品av综合导航| 国产乱码精品一区二区三区五月婷 | 色欧美片视频在线观看| 亚洲天堂中文字幕|