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

📄 f-b2.html

📁 WinSock编程规范及应用
💻 HTML
📖 第 1 页 / 共 5 页
字号:
<P ALIGN="JUSTIFY">/* Authoritative Answer: Host not found */</P>
<P ALIGN="JUSTIFY">#define WSAHOST_NOT_FOUND       (WSABASEERR+1001)</P>
<P ALIGN="JUSTIFY">#define HOST_NOT_FOUND          WSAHOST_NOT_FOUND</P>
<P ALIGN="JUSTIFY"></P>
<P ALIGN="JUSTIFY">/* Non-Authoritative: Host not found, or SERVERFAIL */</P>
<P ALIGN="JUSTIFY">#define WSATRY_AGAIN            (WSABASEERR+1002)</P>
<P ALIGN="JUSTIFY">#define TRY_AGAIN               WSATRY_AGAIN</P>
<P ALIGN="JUSTIFY"></P>
<P ALIGN="JUSTIFY">/* Non-recoverable errors, FORMERR, REFUSED, NOTIMP */</P>
<P ALIGN="JUSTIFY">#define WSANO_RECOVERY          (WSABASEERR+1003)</P>
<P ALIGN="JUSTIFY">#define NO_RECOVERY             WSANO_RECOVERY</P>
<P ALIGN="JUSTIFY"></P>
<P ALIGN="JUSTIFY">/* Valid name, no data record of requested type */</P>
<P ALIGN="JUSTIFY">#define WSANO_DATA              (WSABASEERR+1004)</P>
<P ALIGN="JUSTIFY">#define NO_DATA                 WSANO_DATA</P>
<P ALIGN="JUSTIFY"></P>
<P ALIGN="JUSTIFY">/* no address, look for MX record */</P>
<P ALIGN="JUSTIFY">#define WSANO_ADDRESS           WSANO_DATA</P>
<P ALIGN="JUSTIFY">#define NO_ADDRESS              WSANO_ADDRESS</P>
<P ALIGN="JUSTIFY"></P>
<P ALIGN="JUSTIFY">/*</P>
<P ALIGN="JUSTIFY"> * Windows Sockets errors redefined as regular Berkeley</P>
<P ALIGN="JUSTIFY">error constants</P>
<P ALIGN="JUSTIFY"> */</P>
<P ALIGN="JUSTIFY">#define EWOULDBLOCK             WSAEWOULDBLOCK</P>
<P ALIGN="JUSTIFY">#define EINPROGRESS             WSAEINPROGRESS</P>
<P ALIGN="JUSTIFY">#define EALREADY                WSAEALREADY</P>
<P ALIGN="JUSTIFY">#define ENOTSOCK                WSAENOTSOCK</P>
<P ALIGN="JUSTIFY">#define EDESTADDRREQ            WSAEDESTADDRREQ</P>
<P ALIGN="JUSTIFY">#define EMSGSIZE                WSAEMSGSIZE</P>
<P ALIGN="JUSTIFY">#define EPROTOTYPE              WSAEPROTOTYPE</P>
<P ALIGN="JUSTIFY">#define ENOPROTOOPT             WSAENOPROTOOPT</P>
<P ALIGN="JUSTIFY">#define EPROTONOSUPPORT         WSAEPROTONOSUPPORT</P>
<P ALIGN="JUSTIFY">#define ESOCKTNOSUPPORT         WSAESOCKTNOSUPPORT</P>
<P ALIGN="JUSTIFY">#define EOPNOTSUPP              WSAEOPNOTSUPP</P>
<P ALIGN="JUSTIFY">#define EPFNOSUPPORT            WSAEPFNOSUPPORT</P>
<P ALIGN="JUSTIFY">#define EAFNOSUPPORT            WSAEAFNOSUPPORT</P>
<P ALIGN="JUSTIFY">#define EADDRINUSE              WSAEADDRINUSE</P>
<P ALIGN="JUSTIFY">#define EADDRNOTAVAIL           WSAEADDRNOTAVAIL</P>
<P ALIGN="JUSTIFY">#define ENETDOWN                WSAENETDOWN</P>
<P ALIGN="JUSTIFY">#define ENETUNREACH             WSAENETUNREACH</P>
<P ALIGN="JUSTIFY">#define ENETRESET               WSAENETRESET</P>
<P ALIGN="JUSTIFY">#define ECONNABORTED            WSAECONNABORTED</P>
<P ALIGN="JUSTIFY">#define ECONNRESET              WSAECONNRESET</P>
<P ALIGN="JUSTIFY">#define ENOBUFS                 WSAENOBUFS</P>
<P ALIGN="JUSTIFY">#define EISCONN                 WSAEISCONN</P>
<P ALIGN="JUSTIFY">#define ENOTCONN                WSAENOTCONN</P>
<P ALIGN="JUSTIFY">#define ESHUTDOWN               WSAESHUTDOWN</P>
<P ALIGN="JUSTIFY">#define ETOOMANYREFS            WSAETOOMANYREFS</P>
<P ALIGN="JUSTIFY">#define ETIMEDOUT               WSAETIMEDOUT</P>
<P ALIGN="JUSTIFY">#define ECONNREFUSED            WSAECONNREFUSED</P>
<P ALIGN="JUSTIFY">#define ELOOP                   WSAELOOP</P>
<P ALIGN="JUSTIFY">#define ENAMETOOLONG            WSAENAMETOOLONG</P>
<P ALIGN="JUSTIFY">#define EHOSTDOWN               WSAEHOSTDOWN</P>
<P ALIGN="JUSTIFY">#define EHOSTUNREACH            WSAEHOSTUNREACH</P>
<P ALIGN="JUSTIFY">#define ENOTEMPTY               WSAENOTEMPTY</P>
<P ALIGN="JUSTIFY">#define EPROCLIM                WSAEPROCLIM</P>
<P ALIGN="JUSTIFY">#define EUSERS                  WSAEUSERS</P>
<P ALIGN="JUSTIFY">#define EDQUOT                  WSAEDQUOT</P>
<P ALIGN="JUSTIFY">#define ESTALE                  WSAESTALE</P>
<P ALIGN="JUSTIFY">#define EREMOTE                 WSAEREMOTE</P>
<P ALIGN="JUSTIFY"></P>
<P ALIGN="JUSTIFY">/*</P>
<P ALIGN="JUSTIFY"> * WinSock 2.0 extension </FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>-</FONT><FONT SIZE=3> new error codes and type</P>
<P ALIGN="JUSTIFY">definition</P>
<P ALIGN="JUSTIFY"> */</P>
<P ALIGN="JUSTIFY"></P>
<P ALIGN="JUSTIFY">#ifdef WIN32</P>
<P ALIGN="JUSTIFY"></P>
<P ALIGN="JUSTIFY">        #define WSAAPI                  FAR PASCAL</P>
<P ALIGN="JUSTIFY">        #define WSATASK                 HANDLE</P>
<P ALIGN="JUSTIFY">        #define WSAEVENT                HANDLE</P>
<P ALIGN="JUSTIFY">        #define LPWSAEVENT              LPHANDLE</P>
<P ALIGN="JUSTIFY">        #define WSAOVERLAPPED           OVERLAPPED</P>
<P ALIGN="JUSTIFY">        #define LPWSAOVERLAPPED         LPOVERLAPPED</P>
<P ALIGN="JUSTIFY"></P>
<P ALIGN="JUSTIFY">        #define WSA_IO_PENDING          (ERROR_IO_PENDING)</P>
<P ALIGN="JUSTIFY">        #define WSA_IO_INCOMPLETE</P>
<P ALIGN="JUSTIFY">(ERROR_IO_INCOMPLETE)</P>
<P ALIGN="JUSTIFY">        #define WSA_INVALID_HANDLE</P>
<P ALIGN="JUSTIFY">(ERROR_INVALID_HANDLE)</P>
<P ALIGN="JUSTIFY">        #define WSA_INVALID_PARAMETER</P>
<P ALIGN="JUSTIFY">(ERROR_INVALID_PARAMETER)</P>
<P ALIGN="JUSTIFY">        #define WSA_NOT_ENOUGH_MEMORY</P>
<P ALIGN="JUSTIFY">(ERROR_NOT_ENOUGH_MEMORY)</P>
<P ALIGN="JUSTIFY">        #define WSAEDISCON              (WSABASEERR + 94)</P>
<P ALIGN="JUSTIFY"></P>
<P ALIGN="JUSTIFY">        #define WSA_INVALID_EVENT       ((WSAEVENT)NULL)</P>
<P ALIGN="JUSTIFY">        #define WSA_MAXIMUM_WAIT_EVENTS</P>
<P ALIGN="JUSTIFY">(MAXIMUM_WAIT_OBJECTS)</P>
<P ALIGN="JUSTIFY">        #define WSA_WAIT_FAILED         ((DWORD)-1L)</P>
<P ALIGN="JUSTIFY">        #define WSA_WAIT_EVENT_0        (WAIT_OBJECT_0)</P>
<P ALIGN="JUSTIFY">        #define WSA_WAIT_IO_COMPLETION  (WAIT_IO_COMPLETION)</P>
<P ALIGN="JUSTIFY">        #define WSA_WAIT_TIMEOUT        (WAIT_TIMEOUT)</P>
<P ALIGN="JUSTIFY">        #define WSA_INFINITE            (INFINITE)</P>
<P ALIGN="JUSTIFY"></P>
<P ALIGN="JUSTIFY">#else // WIN16</P>
<P ALIGN="JUSTIFY"></P>
<P ALIGN="JUSTIFY">        #define WSAAPI                  FAR PASCAL</P>
<P ALIGN="JUSTIFY">        #define WSATASK                 HTASK</P>
<P ALIGN="JUSTIFY">        typedef DWORD                   WSAEVENT, FAR *</P>
<P ALIGN="JUSTIFY">LPWSAEVENT;</P>
</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3><P ALIGN="JUSTIFY"></P>
</FONT><FONT SIZE=3><P ALIGN="JUSTIFY">        typedef struct _WSAOVERLAPPED</P>
<P ALIGN="JUSTIFY">        {</P>
<P ALIGN="JUSTIFY">            DWORD    Internal;</P>
<P ALIGN="JUSTIFY">            DWORD    InternalHigh;</P>
<P ALIGN="JUSTIFY">            DWORD    Offset;</P>
<P ALIGN="JUSTIFY">            DWORD    OffsetHigh;</P>
<P ALIGN="JUSTIFY">            WSAEVENT hEvent;</P>
<P ALIGN="JUSTIFY">        } WSAOVERLAPPED, FAR * LPWSAOVERLAPPED;</P>
<P ALIGN="JUSTIFY"></P>
<P ALIGN="JUSTIFY">        #define WSA_IO_PENDING          (WSAEWOULDBLOCK)</P>
<P ALIGN="JUSTIFY">        #define WSA_IO_INCOMPLETE       (WSAEWOULDBLOCK)</P>
<P ALIGN="JUSTIFY">        #define WSA_INVALID_HANDLE      (WSAENOTSOCK)</P>
<P ALIGN="JUSTIFY">        #define WSA_INVALID_PARAMETER   (WSAEINVAL)</P>
<P ALIGN="JUSTIFY">        #define WSA_NOT_ENOUGH_MEMORY   (WSAENOBUFS)</P>
<P ALIGN="JUSTIFY">        #define WSAEDISCON              (WSABASEERR + 94)</P>
<P ALIGN="JUSTIFY"></P>
<P ALIGN="JUSTIFY">        #define WSA_INVALID_EVENT       ((WSAEVENT)NULL)</P>
<P ALIGN="JUSTIFY">        #define WSA_MAXIMUM_WAIT_EVENTS</P>
<P ALIGN="JUSTIFY">(MAXIMUM_WAIT_OBJECTS)</P>
<P ALIGN="JUSTIFY">        #define WSA_WAIT_FAILED         ((DWORD)-1L)</P>
<P ALIGN="JUSTIFY">        #define WSA_WAIT_EVENT_0        ((DWORD)0)</P>
<P ALIGN="JUSTIFY">        #define WSA_WAIT_TIMEOUT        ((DWORD)0x102L)</P>
<P ALIGN="JUSTIFY">        #define WSA_INFINITE            ((DWORD)-1L)</P>
<P ALIGN="JUSTIFY"></P>
<P ALIGN="JUSTIFY">#endif  // WIN32</P>
<P ALIGN="JUSTIFY"></P>
<P ALIGN="JUSTIFY">/*</P>
<P ALIGN="JUSTIFY"> * WinSock 2.0 extension </FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>-</FONT><FONT SIZE=3> WSABUF and QOS struct</P>
<P ALIGN="JUSTIFY"> */</P>
<P ALIGN="JUSTIFY"></P>
<P ALIGN="JUSTIFY">typedef struct _WSABUF {</P>
<P ALIGN="JUSTIFY">    int         len;     // the length of the buffer</P>
<P ALIGN="JUSTIFY">    char FAR *  buf;     // the pointer to the buffer</P>
</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3><P ALIGN="JUSTIFY">}</FONT><FONT SIZE=3> WSABUF, FAR * LPWSABUF;</P>
<P ALIGN="JUSTIFY"></P>
<P ALIGN="JUSTIFY">typedef enum</P>
<P ALIGN="JUSTIFY">{</P>
<P ALIGN="JUSTIFY">    BestEffortService,</P>
<P ALIGN="JUSTIFY">    PredictiveService,</P>
<P ALIGN="JUSTIFY">    GuaranteedService</P>
<P ALIGN="JUSTIFY">} GUARANTEE;</P>
<P ALIGN="JUSTIFY"></P>
<P ALIGN="JUSTIFY">typedef long int32;</P>
<P ALIGN="JUSTIFY"></P>
<P ALIGN="JUSTIFY">typedef struct _flowspec</P>
<P ALIGN="JUSTIFY">{</P>
<P ALIGN="JUSTIFY">    int32        TokenRate;              // In Bytes/sec</P>
<P ALIGN="JUSTIFY">    int32        TokenBucketSize;        // In Bytes</P>
<P ALIGN="JUSTIFY">    int32        PeakBandwidth;          // In Bytes/sec</P>
<P ALIGN="JUSTIFY">    int32        Latency;                // In microseconds</P>
<P ALIGN="JUSTIFY">    int32        DelayVariation;         // In microseconds</P>
<P ALIGN="JUSTIFY">    GUARANTEE    LevelOfGuarantee;       // Guaranteed,</P>
<P ALIGN="JUSTIFY">Predictive or Best Effort</P>
<P ALIGN="JUSTIFY">    int32        CostOfCall;             // Reserved for</P>
<P ALIGN="JUSTIFY">future use, must be set to 0 now</P>
<P ALIGN="JUSTIFY">    int32        NetworkAvailability;    // read-only: 1 if</P>
<P ALIGN="JUSTIFY">accessible, 0 if not</P>
<P ALIGN="JUSTIFY">} FLOWSPEC, FAR * LPFLOWSPEC;</P>
<P ALIGN="JUSTIFY"></P>
<P ALIGN="JUSTIFY">typedef struct _QualityOfService</P>
<P ALIGN="JUSTIFY">{</P>
<P ALIGN="JUSTIFY">    WSABUF        SendingFlowspec;       // the flow spec</P>
<P ALIGN="JUSTIFY">for data sending</P>
<P ALIGN="JUSTIFY">    WSABUF        ReceivingFlowspec;     // the flow spec</P>
<P ALIGN="JUSTIFY">for data receiving</P>
<P ALIGN="JUSTIFY">} QOS, FAR * LPQOS;</P>
<P ALIGN="JUSTIFY"></P>
<P ALIGN="JUSTIFY">/*</P>
<P ALIGN="JUSTIFY"> * WinSock 2.0 extension </FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>-</FONT><FONT SIZE=3> manifest constants for return</P>
<P ALIGN="JUSTIFY">values of the condition function</P>
<P ALIGN="JUSTIFY"> */</P>
<P ALIGN="JUSTIFY">#define CF_ACCEPT       0x0000</P>
<P ALIGN="JUSTIFY">#define CF_REJECT       0x0001</P>
<P ALIGN="JUSTIFY">#define CF_DEFER        0x0002</P>
<P ALIGN="JUSTIFY"></P>
<P ALIGN="JUSTIFY">/*</P>
<P ALIGN="JUSTIFY"> * WinSock 2.0 extension </FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>-</FONT><FONT SIZE=3> manifest constants for</P>
<P ALIGN="JUSTIFY">shutdown()</P>
<P ALIGN="JUSTIFY"> */</P>
<P ALIGN="JUSTIFY">#define SD_RECEIVE      0x00</P>
<P ALIGN="JUSTIFY">#define SD_SEND         0x01</P>
<P ALIGN="JUSTIFY">#define SD_BOTH         0x02</P>
<P ALIGN="JUSTIFY"></P>
<P ALIGN="JUSTIFY">/*</P>
<P ALIGN="JUSTIFY"> * WinSock 2.0 extension </FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>-</FONT><FONT SIZE=3> data type and manifest constants</P>
<P ALIGN="JUSTIFY">for socket groups</P>
<P ALIGN="JUSTIFY"> */</P>
<P ALIGN="JUSTIFY">typedef unsigned int             GROUP;</P>
<P ALIGN="JUSTIFY"></P>
<P ALIGN="JUSTIFY">#define SG_UNCONSTRAINED_GROUP   0x01</P>
<P ALIGN="JUSTIFY">#define SG_CONSTRAINED_GROUP     0x02</P>
<P ALIGN="JUSTIFY"></P>
<P ALIGN="JUSTIFY">/*</P>
<P ALIGN="JUSTIFY"> * WinSock 2.0 extension </FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>-</FONT><FONT SIZE=3> data type for</P>
<P ALIGN="JUSTIFY">WSAEnumNetworkEvents()</P>
<P ALIGN="JUSTIFY"> */</P>
<P ALIGN="JUSTIFY">typedef struct _WSANETWORKEVENTS {</P>
<P ALIGN="JUSTIFY">       long lNetworkEvent,</P>
<P ALIGN="JUSTIFY">       int iErrorCode</P>
<P ALIGN="JUSTIFY">} WSANETWORKEVENTS, FAR * LPWSANETWORKEVENTS;</P>
<P ALIGN="JUSTIFY"></P>
<P ALIGN="JUSTIFY">/*</P>
<P ALIGN="JUSTIFY"> * WinSock 2.0 extension </FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>-</FONT><FONT SIZE=3> PROTOCOL_INFO structure and</P>
<P ALIGN="JUSTIFY">associated manifest constants</P>
<P ALIGN="JUSTIFY"> */</P>
<P ALIGN="JUSTIFY">typedef struct _PROTOCOL_INFO {</P>
<P ALIGN="JUSTIFY">    DWORD dwServiceFlags1;</P>
<P ALIGN="JUSTIFY">    DWORD dwServiceFlags2;</P>
<P ALIGN="JUSTIFY">    DWORD dwServiceFlags3;</P>
<P ALIGN="JUSTIFY">    DWORD dwServiceFlags4;</P>
<P ALIGN="JUSTIFY">    int iProviderID;</P>
<P ALIGN="JUSTIFY">    int iVersion;</P>
<P ALIGN="JUSTIFY">    int iAddressFamily;</P>
<P ALIGN="JUSTIFY">    int iMaxSockAddr;</P>
<P ALIGN="JUSTIFY">    int iMinSockAddr;</P>
<P ALIGN="JUSTIFY">    int iSocketType;</P>
<P ALIGN="JUSTIFY">    int iProtocol;</P>
<P ALIGN="JUSTIFY">    int iNetworkByteOrder;</P>
<P ALIGN="JUSTIFY">    int iSecurityScheme;</P>
<P ALIGN="JUSTIFY">    BOOL bMultiple;</P>
<P ALIGN="JUSTIFY">    BOOL bFirst;</P>
<P ALIGN="JUSTIFY">    DWORD dwMessageSize;</P>
<P ALIGN="JUSTIFY">    LPSTR lpProtocol;</P>
</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3><P ALIGN="JUSTIFY">}</FONT><FONT SIZE=3> PROTOCOL_INFO, FAR * LPPROTOCOL_INFO;</P>
<P ALIGN="JUSTIFY"></P>
<P ALIGN="JUSTIFY">#define XP1_CONNECTIONLESS                  0x00000001</P>
<P ALIGN="JUSTIFY">#define XP1_GUARANTEED_DELIVERY             0x00000002</P>
<P ALIGN="JUSTIFY">#define XP1_GUARANTEED_ORDER                0x00000004</P>
<P ALIGN="JUSTIFY">#define XP1_MESSAGE_ORIENTED                0x00000008</P>
<P ALIGN="JUSTIFY">#define XP1_PSEUDO_STREAM                   0x00000010</P>
<P ALIGN="JUSTIFY">#define XP1_GRACEFUL_CLOSE                  0x00000020</P>
<P ALIGN="JUSTIFY">#define XP1_EXPEDITED_DATA                  0x00000040</P>
<P ALIGN="JUSTIFY">#define XP1_CONNECT_DATA                    0x00000080</P>
<P ALIGN="JUSTIFY">#define XP1_DISCONNECT_DATA                 0x00000100</P>
<P ALIGN="JUSTIFY">#define XP1_SUPPORTS_BROADCAST              0x00000200</P>
<P ALIGN="JUSTIFY">#define XP1_SUPPORT_MULTIPOINT              0x00000400</P>

⌨️ 快捷键说明

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