⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 vbwinsock.bas

📁 功能强大的API
💻 BAS
📖 第 1 页 / 共 3 页
字号:
Attribute VB_Name = "vbWinSock"
'**************************************************
'欢迎访问小聪明的主页VB版.: http://coolzm.533.net
'**************************************************
' This Module was created by Jim Huff on October 7, 1997 to demonstrate how to
' use the Winsock gethostbyaddr() function call.  It includes all of the declares,
' UDTs, and Constants that are required to perform its task.

Option Explicit
Global MaxSockets As Long       ' 可使用的Socket的最大个数
Global MaxUDP As Long           ' 使用UDP协议传输的数据包的最大值
Global Description As String    ' WinSock 描述
Global Status As String         ' WinSock 状态
Global Host As String           ' 主机名称
Public Const WSADESCRIPTION_LEN = 256
Public Const WSASYS_STATUS_LEN = 128
Public Const WS_VERSION_REQD As Integer = &H101
Public Const WS_VERSION_MAJOR = WS_VERSION_REQD / &H100 And &HFF&
Public Const WS_VERSION_MINOR = WS_VERSION_REQD And &HFF&
Public Const SOCKET_ERROR = -1
Public Const IP_OPTIONS = 1
Public Const INVALID_SOCKET = &HFFFF
Public Const MIN_SOCKETS_REQD = 0
Public Const AF_INET = 2
Public Const PF_INET = AF_INET
Public Const FD_SETSIZE% = 64
Public Const SZFD_SET = 4
Public Const SZTIMEVAL = 8
Public Const IOCPARM_MASK = &H7F
Public Const IOC_VOID = &H20000000
Public Const IOC_OUT = &H40000000
Public Const IOC_IN = &H80000000
Public Const IOC_INOUT = (IOC_IN Or IOC_OUT)
Public Const u_long& = 4
Public Const FIONREAD& = &H4004667F
Public Const FIONBIO& = &H8004667E
Public Const FIOASYNC& = &H8004667D
Public Const SIOCSHIWAT& = &H80047300
Public Const SIOCGHIWAT& = &H40047301
Public Const SIOCSLOWAT& = &H80047302
Public Const SIOCGLOWAT& = &H40047303
Public Const SIOCATMARK& = &H40047307
Public Const SZHOSTENT = 16
Public Const FROM_PROTOCOL_INFO = -1
Public Const SADDRLEN = 16
Public Const SOL_SOCKET = &HFFFF
Public Const SOMAXCONN = 5
Public Const MSG_OOB = &H1
Public Const MSG_PEEK = &H2
Public Const MSG_DONTROUTE = &H4
Public Const MSG_PARTIAL = &H8000
Public Const MSG_MAXIOVLEN = 16
Public Const MAXGETHOSTSTRUCT = 1024
Public Const FD_READ = &H1
Public Const FD_WRITE = &H2
Public Const FD_OOB = &H4
Public Const FD_ACCEPT = &H8
Public Const FD_CONNECT = &H10
Public Const FD_CLOSE = &H20
Public Const WSABASEERR = 10000
Public Const WSAEINTR = (WSABASEERR + 4)
Public Const WSAEBADF = (WSABASEERR + 9)
Public Const WSAEACCES = (WSABASEERR + 13)
Public Const WSAEFAULT = (WSABASEERR + 14)
Public Const WSAEINVAL = (WSABASEERR + 22)
Public Const WSAEMFILE = (WSABASEERR + 24)

' Socket 类型

Public Const SOCK_STREAM = 1
Public Const SOCK_DGRAM = 2
Public Const SOCK_RAW = 3
Public Const SOCK_RDM = 4
Public Const SOCK_SEQPACKET = 5

' 功能标志

Public Const SO_DEBUG = &H1
Public Const SO_ACCEPTCONN = &H2
Public Const SO_REUSEADDR = &H4
Public Const SO_KEEPALIVE = &H8
Public Const SO_DONTROUTE = &H10
Public Const SO_BROADCAST = &H20
Public Const SO_USELOOPBACK = &H40
Public Const SO_LINGER = &H80
Public Const SO_OOBINLINE = &H100
Public Const SO_DONTLINGER = &HFF7F
Public Const SO_SNDBUF = &H1001
Public Const SO_RCVBUF = &H1002
Public Const SO_SNDLOWAT& = &H1003
Public Const SO_RCVLOWAT& = &H1004
Public Const SO_SNDTIMEO = &H1005
Public Const SO_RCVTIMEO = &H1006
Public Const SO_ERROR = &H1007
Public Const SO_TYPE = &H1008
Public Const PVD_CONFIG = &H3001
Public Const TCP_NODELAY = &H1
Public Const AF_UNSPEC = 0

Public Const AF_UNIX = 1                ' local to host (pipes, portals)
Public Const AF_IMPLINK = 3             ' arpanet imp addresses
Public Const AF_PUP = 4                 ' pup protocols: e.g. BSP
Public Const AF_CHAOS = 5               ' mit CHAOS protocols
Public Const AF_NS = 6                  ' XEROX NS protocols
Public Const AF_IPX = AF_NS             ' IPX protocols: IPX, SPX, etc.
Public Const AF_ISO = 7                 ' ISO protocols
Public Const AF_OSI = AF_ISO            ' OSI is ISO
Public Const AF_ECMA = 8                ' european computer manufacturers
Public Const AF_DATAKIT = 9             ' datakit protocols
Public Const AF_CCITT = 10              ' CCITT protocols, X.25 etc
Public Const AF_SNA = 11                ' IBM SNA
Public Const AF_DECnet = 12             ' DECnet
Public Const AF_DLI = 13                ' Direct data link interface
Public Const AF_LAT = 14                ' LAT
Public Const AF_HYLINK = 15             ' NSC Hyperchannel
Public Const AF_APPLETALK = 16          ' AppleTalk(Mac计算机使用的协议)
Public Const AF_NETBIOS = 17            ' NetBios-style 地址
Public Const AF_MAX = 18
Public Const PF_UNSPEC = AF_UNSPEC
Public Const PF_UNIX = AF_UNIX
Public Const PF_IMPLINK = AF_IMPLINK
Public Const PF_PUP = AF_PUP
Public Const PF_CHAOS = AF_CHAOS
Public Const PF_NS = AF_NS
Public Const PF_IPX = AF_IPX
Public Const PF_ISO = AF_ISO
Public Const PF_OSI = AF_OSI
Public Const PF_ECMA = AF_ECMA
Public Const PF_DATAKIT = AF_DATAKIT
Public Const PF_CCITT = AF_CCITT
Public Const PF_SNA = AF_SNA
Public Const PF_DECnet = AF_DECnet
Public Const PF_DLI = AF_DLI
Public Const PF_LAT = AF_LAT
Public Const PF_HYLINK = AF_HYLINK
Public Const PF_APPLETALK = AF_APPLETALK
Public Const PF_MAX = AF_MAX

' WinSock 错误常数

Public Const WSAEWOULDBLOCK = 10035
Public Const WSAEINPROGRESS = 10036
Public Const WSAEALREADY = 10037
Public Const WSAENOTSOCK = 10038
Public Const WSAEDESTADDRREQ = 10039
Public Const WSAEMSGSIZE = 10040
Public Const WSAEPROTOTYPE = 10041
Public Const WSAENOPROTOOPT = 10042
Public Const WSAEPROTONOSUPPORT = 10043
Public Const WSAESOCKTNOSUPPORT = 10044
Public Const WSAEOPNOTSUPP = 10045
Public Const WSAEPFNOSUPPORT = 10046
Public Const WSAEAFNOSUPPORT = 10047
Public Const WSAEADDRINUSE = 10048
Public Const WSAEADDRNOTAVAIL = 10049
Public Const WSAENETDOWN = 10050
Public Const WSAENETUNREACH = 10051
Public Const WSAENETRESET = 10052
Public Const WSAECONNABORTED = 10053
Public Const WSAECONNRESET = 10054
Public Const WSAENOBUFS = 10055
Public Const WSAEISCONN = 10056
Public Const WSAENOTCONN = 10057
Public Const WSAESHUTDOWN = 10058
Public Const WSAETOOMANYREFS = 10059
Public Const WSAETIMEDOUT = 10060
Public Const WSAECONNREFUSED = 10061
Public Const WSAELOOP = 10062
Public Const WSAENAMETOOLONG = 10063
Public Const WSAEHOSTDOWN = 10064
Public Const WSAEHOSTUNREACH = 10065
Public Const WSASYSNOTREADY = 10091
Public Const WSAVERNOTSUPPORTED = 10092
Public Const WSANOTINITIALISED = 10093
Public Const WSAHOST_NOT_FOUND = 11001
Public Const WSATRY_AGAIN = 11002
Public Const WSANO_RECOVERY = 11003
Public Const WSANO_DATA = 11004

'协议常数

Public Const IPPROTO_IP = 0           '
Public Const IPPROTO_ICMP = 1         ' ICMP
Public Const IPPROTO_IGMP = 2          ' IGMP
Public Const IPPROTO_GGP = 3          ' GGP
Public Const IPPROTO_TCP = 6          ' TCP
Public Const IPPROTO_PUP = 12         ' PUP
Public Const IPPROTO_UDP = 17         ' UDP
Public Const IPPROTO_IDP = 22         ' XNS-IDP
Public Const IPPROTO_ND = 77          ' ND

Public Const IPPROTO_RAW = 255        ' RAW
Public Const IPPROTO_MAX = 256

' Port/Socket 常数

Public Const IPPORT_ECHO = 7           ' ECHO
Public Const IPPORT_DISCARD = 9        ' DISCARD
Public Const IPPORT_SYSTAT = 11        ' SYSTEM STATUS
Public Const IPPORT_DAYTIME = 13       ' DAYTIME
Public Const IPPORT_NETSTAT = 15       ' NETSTAT
Public Const IPPORT_FTP = 21           ' FTP
Public Const IPPORT_TELNET = 23        ' TELNET
Public Const IPPORT_SMTP = 25          ' SMTP
Public Const IPPORT_TIMESERVER = 37    ' NTP
Public Const IPPORT_NAMESERVER = 42    ' DNS
Public Const IPPORT_WHOIS = 43         ' WHOIS
Public Const IPPORT_MTP = 57           ' MTP
Public Const IPPORT_TFTP = 69          ' TFTP
Public Const IPPORT_RJE = 77           ' RJE
Public Const IPPORT_FINGER = 79        ' FINGER
Public Const IPPORT_TTYLINK = 87       ' TTY
Public Const IPPORT_SUPDUP = 95        ' SUPDUP
Public Const IPPORT_EXECSERVER = 512   '
Public Const IPPORT_LOGINSERVER = 513  '
Public Const IPPORT_CMDSERVER = 514    '
Public Const IPPORT_EFSSERVER = 520    '
Public Const IPPORT_BIFFUDP = 512      '
Public Const IPPORT_WHOSERVER = 513    '
Public Const IPPORT_ROUTESERVER = 520  '
Public Const IPPORT_RESERVED = 1024    '
Public Const IMPLINK_IP = 155          '
Public Const IMPLINK_LOWEXPER = 156    '
Public Const IMPLINK_HIGHEXPER = 158   '

Public Const IN_CLASSA_NET& = &HFF000000
Public Const IN_CLASSA_NSHIFT& = 24
Public Const IN_CLASSA_HOST& = &HFFFFFF
Public Const IN_CLASSA_MAX& = 128
Public Const IN_CLASSB_NET& = &HFFFF0000
Public Const IN_CLASSB_NSHIFT& = 16
Public Const IN_CLASSB_HOST& = &HFFFF
Public Const IN_CLASSB_MAX& = 65536
Public Const IN_CLASSC_NET& = &HFF00
Public Const IN_CLASSC_NSHIFT& = 8
Public Const IN_CLASSC_HOST& = &HFF
Public Const INADDR_ANY& = &H0
Public Const INADDR_LOOPBACK& = &H7F000001
Public Const INADDR_BROADCAST& = &HFFFF
Public Const INADDR_NONE& = &HFFFF


' WSock32 UDTs

Type Inet_Address
    Byte4 As String * 1
    Byte3 As String * 1
    Byte2 As String * 1
    Byte1 As String * 1
End Type

Public IPLong As Inet_Address

Type WSAData
    wVersion As Integer
    wHighVersion As Integer
    szDescription(0 To 255) As Byte
    szSystemStatus(0 To 128) As Byte
    iMaxSockets As Integer
    iMaxUdpDg As Integer
    lpVendorInfo As Long
End Type

Public WSAData As WSAData

Type hostent_async
    h_name As Long
    h_aliases As Long
    h_addrtype As Integer
    h_length As Integer
    h_addr_list As Long
    h_asyncbuffer(MAXGETHOSTSTRUCT) As Byte
End Type

Public hostent_async As hostent_async

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

Public hostent As hostent

Type linger
    l_onoff As Integer          ' Option On/Off
    l_linger As Integer         ' Linger time
End Type

Public linger As linger

Type protoent
    p_name As Long            ' Official name of the protocol
    p_aliases As Long         ' A Null-terminated array of alternate names
    p_proto As Integer        ' The protocol number, in host byte order
End Type

Public protoent As protoent

Type netent
    n_name As Long            ' Official name of network
    n_aliases As Long         ' A Null-terminated array of alternate names
    n_addrtype As Integer     ' Network address type
    n_net As Long             ' Network Number
End Type

Public netent As netent

Type servent
    s_name As Long            ' Official service name
    s_aliases As Long         ' A Null-terminated array of alternate names
    s_port As Integer         ' Port Number
    s_proto As Long           ' Protocol to use
End Type

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -