Новичок
Профиль
Группа: Участник
Сообщений: 23
Регистрация: 17.7.2006
Репутация: нет Всего: нет
|
Попробуй вот с чем повозиться: | Код | Attribute VB_Name = "Winsock" Option Explicit
Public Const AF_UNSPEC = 0 ' /* не определено */ Public Const AF_UNIX = 1 ' /* локально для хоста (pipes, portals) */ Public Const AF_INET = 2 ' /* межсетевые соединения: UDP, TCP и т.д. */ Public Const AF_IMPLINK = 3 ' /* адреса arpanet imp */ Public Const AF_PUP = 4 ' /* протоколы pup : например BSP */ Public Const AF_CHAOS = 5 ' /* протоколы mit CHAOS */ Public Const AF_IPX = 6 ' /* IPX and SPX */ Public Const AF_NS = 6 ' /* протоколы XEROX NS */ Public Const AF_ISO = 7 ' /* протоколы ISO */ Public Const AF_OSI = AF_ISO ' /* OSI это ISO */ Public Const AF_ECMA = 8 ' /* европейски производители компьютеров */ Public Const AF_DATAKIT = 9 ' /* протоколы datakit */ Public Const AF_CCITT = 10 ' /* протоколы CCITT, X.25 и другие */ Public Const AF_SNA = 11 ' /* IBM SNA */ Public Const AF_DECnet = 12 ' /* DECnet */ Public Const AF_DLI = 13 ' /* инетерфейс прямого соединения */ Public Const AF_LAT = 14 ' /* LAT */ Public Const AF_HYLINK = 15 ' /* NSC Hyperchannel */ Public Const AF_APPLETALK = 16 ' /* AppleTalk */ Public Const AF_NETBIOS = 17 ' /* Адреса в нотации NetBios */
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 FD_SETSIZE% = 64
Public Const SOL_SOCKET = &HFFFF Public Const SO_LINGER = &H80
Public Const INVALID_SOCKET = -1 Public Const SOCKET_ERROR = -1
Public Const BAD_SOCKET = -1 Public Const UNRESOLVED_HOST = -2 Public Const UNABLE_TO_BIND = -3 Public Const UNABLE_TO_CONNECT = -4
Public Const WIN_SOCKET_MSG = 2000 Public Const MAX_WSADescription = 257 Public Const MAX_WSASYSStatus = 129
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 IP_OPTIONS = 1 Public Const MIN_SOCKETS_REQD = 0
'--- добавочные определения 'типы 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 PF_UNSPEC = 0 Public Const PF_UNIX = 1 Public Const PF_INET = 2 Public Const PF_IMPLINK = 3 Public Const PF_PUP = 4 Public Const PF_CHAOS = 5 Public Const PF_IPX = 6 Public Const PF_NS = 6 Public Const PF_ISO = 7 Public Const PF_OSI = AF_ISO Public Const PF_ECMA = 8 Public Const PF_DATAKIT = 9 Public Const PF_CCITT = 10 Public Const PF_SNA = 11 Public Const PF_DECnet = 12 Public Const PF_DLI = 13 Public Const PF_LAT = 14 Public Const PF_HYLINK = 15 Public Const PF_APPLETALK = 16 Public Const PF_NETBIOS = 17
Public Const MAXGETHOSTSTRUCT = 1024
Public Const IPPROTO_TCP = 6 Public Const IPPROTO_UDP = 17
Public Const INADDR_NONE = &HFFFF Public Const INADDR_ANY = &H0
' определения Windows Sockets обычных констант ошибок в Microsoft C Public Const WSAEINTR = 10004 Public Const WSAEBADF = 10009 Public Const WSAEACCES = 10013 Public Const WSAEFAULT = 10014 Public Const WSAEINVAL = 10022 Public Const WSAEMFILE = 10024 ' определения Windows Sockets обычных констант ошибок Berkeley 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 WSAENOTEMPTY = 10066 Public Const WSAEPROCLIM = 10067 Public Const WSAEUSERS = 10068 Public Const WSAEDQUOT = 10069 Public Const WSAESTALE = 10070 Public Const WSAEREMOTE = 10071 ' расширенные определения Windows Sockets обычных констант ошибок 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 WSANO_ADDRESS = 11004
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 WSAdata wVersion As Integer wHighVersion As Integer szDescription As String * MAX_WSADescription '(0 To 255) As Byte szSystemStatus As String * MAX_WSASYSStatus '(0 To 128) As Byte iMaxSockets As Integer iMaxUdpDg As Integer lpVendorInfo As Long End Type
Public WSAdata As WSAdata
Type Inet_Address ' IP-адрес в Network Order Byte4 As Byte ' Byte3 As Byte ' Byte2 As Byte ' Byte1 As Byte ' End Type
Public IPLong As Inet_Address
'адрес сокета Type SockAddr sin_family As Integer ' семейство адреса sin_port As Integer ' номер порта в Network Order sin_addr As Long ' IP-адрес в формате Long sin_zero As String * 8 '(8) As Byte ' заполнение End Type
Public SockAddr As SockAddr
Public Const SockAddr_Size = 16
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 fd_set fd_count As Integer '' количество в наборе fd_array(FD_SETSIZE) As Long '' массив SOCKET handles (64) End Type
Public fd_set As fd_set
Type timeval tv_sec As Long tv_usec As Long End Type
Public timeval As timeval
Type LingerType l_onoff As Integer l_linger As Integer End Type
'---Функции сокета Public Declare Function accept Lib "wsock32.dll" (ByVal s As Long, addr As SockAddr, addrlen As Long) As Long Public Declare Function bind Lib "wsock32.dll" (ByVal s As Long, addr As SockAddr, ByVal namelen As Long) As Long Public Declare Function closesocket Lib "wsock32.dll" (ByVal s As Long) As Long Public Declare Function connect Lib "wsock32.dll" (ByVal s As Long, addr As SockAddr, ByVal namelen As Long) As Long Public Declare Function ioctlsocket Lib "wsock32.dll" (ByVal s As Long, ByVal cmd As Long, argp As Long) As Long Public Declare Function getpeername Lib "wsock32.dll" (ByVal s As Long, sName As SockAddr, namelen As Long) As Long Public Declare Function getsockname Lib "wsock32.dll" (ByVal s As Long, sName As SockAddr, namelen As Long) As Long Public Declare Function getsockopt Lib "wsock32.dll" (ByVal s As Long, ByVal Level As Long, ByVal optname As Long, optval As Any, optlen As Long) As Long Public Declare Function htonl Lib "wsock32.dll" (ByVal hostlong As Long) As Long Public Declare Function htons Lib "wsock32.dll" (ByVal hostshort As Long) As Integer Public Declare Function inet_addr Lib "wsock32.dll" (ByVal CP As String) As Long Public Declare Function inet_ntoa Lib "wsock32.dll" (ByVal inn As Long) As Long Public Declare Function listen Lib "wsock32.dll" (ByVal s As Long, ByVal backlog As Long) As Long Public Declare Function ntohl Lib "wsock32.dll" (ByVal netlong As Long) As Long Public Declare Function ntohs Lib "wsock32.dll" (ByVal netshort As Long) As Integer Public Declare Function recv Lib "wsock32.dll" (ByVal s As Long, ByVal buf As Any, ByVal buflen As Long, ByVal FLAGS As Long) As Long Public Declare Function recvfrom Lib "wsock32.dll" (ByVal s As Long, buf As Any, ByVal buflen As Long, ByVal FLAGS As Long, from As SockAddr, fromlen As Long) As Long Public Declare Function ws_select Lib "wsock32.dll" Alias "select" (ByVal nfds As Long, readfds As fd_set, writefds As fd_set, exceptfds As fd_set, timeout As timeval) As Long Public Declare Function send Lib "wsock32.dll" (ByVal s As Long, ByVal buf As Any, ByVal buflen As Long, ByVal FLAGS As Long) As Long Public Declare Function sendto Lib "wsock32.dll" (ByVal s As Long, buf As Any, ByVal buflen As Long, ByVal FLAGS As Long, to_addr As SockAddr, ByVal tolen As Long) As Long Public Declare Function setsockopt Lib "wsock32.dll" (ByVal s As Long, ByVal Level As Long, ByVal optname As Long, optval As Any, ByVal optlen As Long) As Long Public Declare Function ShutDown Lib "wsock32.dll" Alias "shutdown" (ByVal s As Long, ByVal how As Long) As Long Public Declare Function Socket Lib "wsock32.dll" Alias "socket" (ByVal af As Long, ByVal s_type As Long, ByVal protocol As Long) As Long '---Функции базы данных Public Declare Function gethostbyaddr Lib "wsock32.dll" (addr As Long, ByVal addr_len As Long, ByVal addr_type As Long) As Long Public Declare Function gethostbyname Lib "wsock32.dll" (ByVal host_name As String) As Long Public Declare Function gethostname Lib "wsock32.dll" (ByVal host_name As String, ByVal namelen As Long) As Long Public Declare Function getservbyport Lib "wsock32.dll" (ByVal Port As Long, ByVal proto As String) As Long Public Declare Function getservbyname Lib "wsock32.dll" (ByVal serv_name As String, ByVal proto As String) As Long Public Declare Function getprotobynumber Lib "wsock32.dll" (ByVal proto As Long) As Long Public Declare Function getprotobyname Lib "wsock32.dll" (ByVal proto_name As String) As Long '---Расширения WINDOWS Public Declare Function WSAStartup Lib "wsock32.dll" (ByVal wVR As Long, lpWSAD As WSAdata) As Long Public Declare Function WSACleanup Lib "wsock32.dll" () As Long Public Declare Function WSASetLastError Lib "wsock32.dll" (ByVal iError As Long) As Long Public Declare Function WSAGetLastError Lib "wsock32.dll" () As Long Public Declare Function WSAIsBlocking Lib "wsock32.dll" () As Long Public Declare Function WSAUnhookBlockingHook Lib "wsock32.dll" () As Long Public Declare Function WSASetBlockingHook Lib "wsock32.dll" (ByVal lpBlockFunc As Long) As Long Public Declare Function WSACancelBlockingCall Lib "wsock32.dll" () As Long Public Declare Function WSAAsyncGetServByName Lib "wsock32.dll" (ByVal hWnd As Long, ByVal wMsg As Long, ByVal serv_name As String, ByVal proto As String, buf As Any, ByVal buflen As Long) As Long Public Declare Function WSAAsyncGetServByPort Lib "wsock32.dll" (ByVal hWnd As Long, ByVal wMsg As Long, ByVal Port As Long, ByVal proto As String, buf As Any, ByVal buflen As Long) As Long Public Declare Function WSAAsyncGetProtoByName Lib "wsock32.dll" (ByVal hWnd As Long, ByVal wMsg As Long, ByVal proto_name As String, buf As Any, ByVal buflen As Long) As Long Public Declare Function WSAAsyncGetProtoByNumber Lib "wsock32.dll" (ByVal hWnd As Long, ByVal wMsg As Long, ByVal Number As Long, buf As Any, ByVal buflen As Long) As Long Public Declare Function WSAAsyncGetHostByName Lib "wsock32.dll" (ByVal hWnd As Long, ByVal wMsg As Long, ByVal host_name As String, buf As Any, ByVal buflen As Long) As Long Public Declare Function WSAAsyncGetHostByAddr Lib "wsock32.dll" (ByVal hWnd As Long, ByVal wMsg As Long, addr As Long, ByVal addr_len As Long, ByVal addr_type As Long, buf As Any, ByVal buflen As Long) As Long Public Declare Function WSACancelAsyncRequest Lib "wsock32.dll" (ByVal hAsyncTaskHandle As Long) As Long Public Declare Function WSAAsyncSelect Lib "wsock32.dll" (ByVal s As Long, ByVal hWnd As Long, ByVal wMsg As Long, ByVal lEvent As Long) As Long Public Declare Function WSARecvEx Lib "wsock32.dll" (ByVal s As Long, buf As Any, ByVal buflen As Long, ByVal FLAGS As Long) As Long
|
|