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

📄 winsock.bas

📁 基于化工行业造气岗位的自动化监控系统
💻 BAS
字号:
Attribute VB_Name = "Winsock"
Option Explicit
Public str1data As String
Public sockm As Long
Global Const IP_MULTICAST_TTL = 10
Global Const IP_MULTICAST_LOOP = 11
Global Const IP_ADD_MEMBERSHIP = 12
Global Const IP_DROP_MEMBERSHIP = 13
Type ip_mreq
    imr_multiaddr As Long
    imr_interface As Long
End Type
Global Const AF_INET = 2
Global Const IPPROTO_IP = 0
Global Const WSABASEERR = 10000
Global Const INADDR_ANY = &H0
Global Const WSAEINTR = (WSABASEERR + 4)
Global Const WSAEBADF = (WSABASEERR + 9)
Global Const WSAEACCES = (WSABASEERR + 13)
Global Const WSAEFAULT = (WSABASEERR + 14)
Global Const WSAEINVAL = (WSABASEERR + 22)
Global Const WSAEMFILE = (WSABASEERR + 24)
Global Const WSAEWOULDBLOCK = (WSABASEERR + 35)
Global Const WSAEINPROGRESS = (WSABASEERR + 36)
Global Const WSAEALREADY = (WSABASEERR + 37)
Global Const WSAENOTSOCK = (WSABASEERR + 38)
Global Const WSAEDESTADDRREQ = (WSABASEERR + 39)
Global Const WSAEMSGSIZE = (WSABASEERR + 40)
Global Const WSAEPROTOTYPE = (WSABASEERR + 41)
Global Const WSAENOPROTOOPT = (WSABASEERR + 42)
Global Const WSAEPROTONOSUPPORT = (WSABASEERR + 43)
Global Const WSAESOCKTNOSUPPORT = (WSABASEERR + 44)
Global Const WSAEOPNOTSUPP = (WSABASEERR + 45)
Global Const WSAEPFNOSUPPORT = (WSABASEERR + 46)
Global Const WSAEAFNOSUPPORT = (WSABASEERR + 47)
Global Const WSAEADDRINUSE = (WSABASEERR + 48)
Global Const WSAEADDRNOTAVAIL = (WSABASEERR + 49)
Global Const WSAENETDOWN = (WSABASEERR + 50)
Global Const WSAENETUNREACH = (WSABASEERR + 51)
Global Const WSAENETRESET = (WSABASEERR + 52)
Global Const WSAECONNABORTED = (WSABASEERR + 53)
Global Const WSAECONNRESET = (WSABASEERR + 54)
Global Const WSAENOBUFS = (WSABASEERR + 55)
Global Const WSAEISCONN = (WSABASEERR + 56)
Global Const WSAENOTCONN = (WSABASEERR + 57)
Global Const WSAESHUTDOWN = (WSABASEERR + 58)
Global Const WSAETOOMANYREFS = (WSABASEERR + 59)
Global Const WSAETIMEDOUT = (WSABASEERR + 60)
Global Const WSAECONNREFUSED = (WSABASEERR + 61)
Global Const WSAELOOP = (WSABASEERR + 62)
Global Const WSAENAMETOOLONG = (WSABASEERR + 63)
Global Const WSAEHOSTDOWN = (WSABASEERR + 64)
Global Const WSAEHOSTUNREACH = (WSABASEERR + 65)
Global Const WSAENOTEMPTY = (WSABASEERR + 66)
Global Const WSAEPROCLIM = (WSABASEERR + 67)
Global Const WSAEUSERS = (WSABASEERR + 68)
Global Const WSAEDQUOT = (WSABASEERR + 69)
Global Const WSAESTALE = (WSABASEERR + 70)
Global Const WSAEREMOTE = (WSABASEERR + 71)
Global Const WSASYSNOTREADY = (WSABASEERR + 91)
Global Const WSAVERNOTSUPPORTED = (WSABASEERR + 92)
Global Const WSANOTINITIALISED = (WSABASEERR + 93)
Global Const WSAEDISCON = (WSABASEERR + 101)
Global Const WSAENOMORE = (WSABASEERR + 102)
Global Const WSAECANCELLED = (WSABASEERR + 103)
Global Const WSAEINVALIDPROCTABLE = (WSABASEERR + 104)
Global Const WSAEINVALIDPROVIDER = (WSABASEERR + 105)
Global Const WSAEPROVIDERFAILEDINIT = (WSABASEERR + 106)
Global Const WSASYSCALLFAILURE = (WSABASEERR + 107)
Global Const WSASERVICE_NOT_FOUND = (WSABASEERR + 108)
Global Const WSATYPE_NOT_FOUND = (WSABASEERR + 109)
Global Const WSA_E_NO_MORE = (WSABASEERR + 110)
Global Const WSA_E_CANCELLED = (WSABASEERR + 111)
Global Const WSAEREFUSED = (WSABASEERR + 112)
Global Const SOCK_STREAM = 1
Global Const SOCK_DGRAM = 2
Global Const SOCK_RAW = 3
Global Const SOCK_RDM = 4
Global Const SOCK_SEQPACKET = 5
Global Const INVALID_SOCKET = -1
Global Const SOCKET_ERROR = -1
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
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
Declare Function htonl Lib "ws2_32.DLL" (ByVal hostlong As Long) As Long
Declare Function WSAStartup Lib "wsock32.DLL" (ByVal wVR As Long, lpWSAD As WSADataType) As Long
Declare Function WSACleanup Lib "wsock32.DLL" () As Long
Declare Function closesocket Lib "wsock32.DLL" (ByVal s As Long) As Long
Declare Function htons Lib "wsock32.DLL" (ByVal hostshort As Long) As Integer
Declare Function inet_addr Lib "wsock32.DLL" (ByVal cp As String) As Long
Declare Function setsockopt Lib "wsock32.DLL" (ByVal s As Long, ByVal level As Long, ByVal optname As Long, optval As ip_mreq, ByVal optlen As Long) As Long
Declare Function setsockopt2 Lib "wsock32.DLL" Alias "setsockopt" (ByVal s As Long, ByVal level As Long, ByVal optname As Long, optval As Any, ByVal optlen As Long) As Long
Public Function TCPIPStartup() As Boolean
  Dim rc As Integer
  Dim wVersionRequested As Long
  Dim WSAData As WSADataType
  wVersionRequested = &H202
  TCPIPStartup = True
  rc = WSAStartup(wVersionRequested, WSAData)
  If rc <> 0 Then
    MsgBox ("RC: " & rc & " Unable to start winsocks" & ", Error " & Err.LastDllError)
    WSACleanup
    TCPIPStartup = False
    Exit Function
  End If
End Function

⌨️ 快捷键说明

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