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

📄 f-b2.html

📁 WinSock编程规范及应用
💻 HTML
📖 第 1 页 / 共 5 页
字号:
<P ALIGN="JUSTIFY">#define IPPROTO_ICMP            1               /* control</P>
<P ALIGN="JUSTIFY">message protocol */</P>
<P ALIGN="JUSTIFY">#define IPPROTO_IGMP            2               /* internet</P>
<P ALIGN="JUSTIFY">group management protocol */</P>
<P ALIGN="JUSTIFY">#define IPPROTO_GGP             3               /* gateway^2</P>
<P ALIGN="JUSTIFY">(deprecated) */</P>
<P ALIGN="JUSTIFY">#define IPPROTO_TCP             6               /* tcp */</P>
<P ALIGN="JUSTIFY">#define IPPROTO_PUP             12              /* pup */</P>
<P ALIGN="JUSTIFY">#define IPPROTO_UDP             17              /* user</P>
<P ALIGN="JUSTIFY">datagram protocol */</P>
<P ALIGN="JUSTIFY">#define IPPROTO_IDP             22              /* xns idp</P>
<P ALIGN="JUSTIFY">*/</P>
<P ALIGN="JUSTIFY">#define IPPROTO_ND              77              /*</P>
<P ALIGN="JUSTIFY">UNOFFICIAL net disk proto */</P>
<P ALIGN="JUSTIFY"></P>
<P ALIGN="JUSTIFY">#define IPPROTO_RAW             255             /* raw IP</P>
<P ALIGN="JUSTIFY">packet */</P>
<P ALIGN="JUSTIFY">#define IPPROTO_MAX             256</P>
<P ALIGN="JUSTIFY"></P>
<P ALIGN="JUSTIFY">/*</P>
<P ALIGN="JUSTIFY"> * Port/socket numbers: network standard functions</P>
<P ALIGN="JUSTIFY"> */</P>
<P ALIGN="JUSTIFY">#define IPPORT_ECHO             7</P>
<P ALIGN="JUSTIFY">#define IPPORT_DISCARD          9</P>
<P ALIGN="JUSTIFY">#define IPPORT_SYSTAT           11</P>
<P ALIGN="JUSTIFY">#define IPPORT_DAYTIME          13</P>
<P ALIGN="JUSTIFY">#define IPPORT_NETSTAT          15</P>
<P ALIGN="JUSTIFY">#define IPPORT_FTP              21</P>
<P ALIGN="JUSTIFY">#define IPPORT_TELNET           23</P>
<P ALIGN="JUSTIFY">#define IPPORT_SMTP             25</P>
<P ALIGN="JUSTIFY">#define IPPORT_TIMESERVER       37</P>
<P ALIGN="JUSTIFY">#define IPPORT_NAMESERVER       42</P>
<P ALIGN="JUSTIFY">#define IPPORT_WHOIS            43</P>
<P ALIGN="JUSTIFY">#define IPPORT_MTP              57</P>
<P ALIGN="JUSTIFY"></P>
<P ALIGN="JUSTIFY">/*</P>
<P ALIGN="JUSTIFY"> * Port/socket numbers: host specific functions</P>
<P ALIGN="JUSTIFY"> */</P>
<P ALIGN="JUSTIFY">#define IPPORT_TFTP             69</P>
<P ALIGN="JUSTIFY">#define IPPORT_RJE              77</P>
<P ALIGN="JUSTIFY">#define IPPORT_FINGER           79</P>
<P ALIGN="JUSTIFY">#define IPPORT_TTYLINK          87</P>
<P ALIGN="JUSTIFY">#define IPPORT_SUPDUP           95</P>
<P ALIGN="JUSTIFY"></P>
<P ALIGN="JUSTIFY">/*</P>
<P ALIGN="JUSTIFY"> * UNIX TCP sockets</P>
<P ALIGN="JUSTIFY"> */</P>
<P ALIGN="JUSTIFY">#define IPPORT_EXECSERVER       512</P>
<P ALIGN="JUSTIFY">#define IPPORT_LOGINSERVER      513</P>
<P ALIGN="JUSTIFY">#define IPPORT_CMDSERVER        514</P>
<P ALIGN="JUSTIFY">#define IPPORT_EFSSERVER        520</P>
<P ALIGN="JUSTIFY"></P>
<P ALIGN="JUSTIFY">/*</P>
<P ALIGN="JUSTIFY"> * UNIX UDP sockets</P>
<P ALIGN="JUSTIFY"> */</P>
<P ALIGN="JUSTIFY">#define IPPORT_BIFFUDP          512</P>
<P ALIGN="JUSTIFY">#define IPPORT_WHOSERVER        513</P>
<P ALIGN="JUSTIFY">#define IPPORT_ROUTESERVER      520</P>
<P ALIGN="JUSTIFY">                                        /* 520+1 also used</P>
<P ALIGN="JUSTIFY">*/</P>
<P ALIGN="JUSTIFY"></P>
<P ALIGN="JUSTIFY">/*</P>
<P ALIGN="JUSTIFY"> * Ports &lt; IPPORT_RESERVED are reserved for</P>
<P ALIGN="JUSTIFY"> * privileged processes (e.g. root).</P>
<P ALIGN="JUSTIFY"> */</P>
<P ALIGN="JUSTIFY">#define IPPORT_RESERVED         1024</P>
<P ALIGN="JUSTIFY"></P>
<P ALIGN="JUSTIFY">/*</P>
<P ALIGN="JUSTIFY"> * Link numbers</P>
<P ALIGN="JUSTIFY"> */</P>
<P ALIGN="JUSTIFY">#define IMPLINK_IP              155</P>
<P ALIGN="JUSTIFY">#define IMPLINK_LOWEXPER        156</P>
<P ALIGN="JUSTIFY">#define IMPLINK_HIGHEXPER       158</P>
</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3><P ALIGN="JUSTIFY"></P>
</FONT><FONT SIZE=3><P ALIGN="JUSTIFY">/*</P>
<P ALIGN="JUSTIFY"> * Internet address (old style... should be updated)</P>
<P ALIGN="JUSTIFY"> */</P>
<P ALIGN="JUSTIFY">struct in_addr {</P>
<P ALIGN="JUSTIFY">        union {</P>
<P ALIGN="JUSTIFY">                struct { u_char s_b1,s_b2,s_b3,s_b4; }</P>
<P ALIGN="JUSTIFY">S_un_b;</P>
<P ALIGN="JUSTIFY">                struct { u_short s_w1,s_w2; } S_un_w;</P>
<P ALIGN="JUSTIFY">                u_long S_addr;</P>
<P ALIGN="JUSTIFY">        } S_un;</P>
<P ALIGN="JUSTIFY">#define s_addr  S_un.S_addr</P>
<P ALIGN="JUSTIFY">                                /* can be used for most tcp</P>
<P ALIGN="JUSTIFY">&amp; ip code */</P>
<P ALIGN="JUSTIFY">#define s_host  S_un.S_un_b.s_b2</P>
<P ALIGN="JUSTIFY">                                /* host on imp */</P>
<P ALIGN="JUSTIFY">#define s_net   S_un.S_un_b.s_b1</P>
<P ALIGN="JUSTIFY">                                /* network */</P>
<P ALIGN="JUSTIFY">#define s_imp   S_un.S_un_w.s_w2</P>
<P ALIGN="JUSTIFY">                                /* imp */</P>
<P ALIGN="JUSTIFY">#define s_impno S_un.S_un_b.s_b4</P>
<P ALIGN="JUSTIFY">                                /* imp # */</P>
<P ALIGN="JUSTIFY">#define s_lh    S_un.S_un_b.s_b3</P>
<P ALIGN="JUSTIFY">                                /* logical host */</P>
<P ALIGN="JUSTIFY">};</P>
<P ALIGN="JUSTIFY"></P>
<P ALIGN="JUSTIFY">/*</P>
<P ALIGN="JUSTIFY"> * Definitions of bits in internet address integers.</P>
<P ALIGN="JUSTIFY"> * On subnets, the decomposition of addresses to host and</P>
<P ALIGN="JUSTIFY">net parts</P>
<P ALIGN="JUSTIFY"> * is done according to subnet mask, not the masks here.</P>
<P ALIGN="JUSTIFY"> */</P>
<P ALIGN="JUSTIFY">#define IN_CLASSA(i)            (((long)(i) &amp; 0x80000000) ==</P>
<P ALIGN="JUSTIFY">0)</P>
<P ALIGN="JUSTIFY">#define IN_CLASSA_NET           0xff000000</P>
<P ALIGN="JUSTIFY">#define IN_CLASSA_NSHIFT        24</P>
<P ALIGN="JUSTIFY">#define IN_CLASSA_HOST          0x00ffffff</P>
<P ALIGN="JUSTIFY">#define IN_CLASSA_MAX           128</P>
<P ALIGN="JUSTIFY"></P>
<P ALIGN="JUSTIFY">#define IN_CLASSB(i)            (((long)(i) &amp; 0xc0000000) ==</P>
<P ALIGN="JUSTIFY">0x80000000)</P>
<P ALIGN="JUSTIFY">#define IN_CLASSB_NET           0xffff0000</P>
<P ALIGN="JUSTIFY">#define IN_CLASSB_NSHIFT        16</P>
<P ALIGN="JUSTIFY">#define IN_CLASSB_HOST          0x0000ffff</P>
<P ALIGN="JUSTIFY">#define IN_CLASSB_MAX           65536</P>
<P ALIGN="JUSTIFY"></P>
<P ALIGN="JUSTIFY">#define IN_CLASSC(i)            (((long)(i) &amp; 0xc0000000) ==</P>
<P ALIGN="JUSTIFY">0xc0000000)</P>
<P ALIGN="JUSTIFY">#define IN_CLASSC_NET           0xffffff00</P>
<P ALIGN="JUSTIFY">#define IN_CLASSC_NSHIFT        8</P>
<P ALIGN="JUSTIFY">#define IN_CLASSC_HOST          0x000000ff</P>
<P ALIGN="JUSTIFY"></P>
<P ALIGN="JUSTIFY">#define INADDR_ANY              (u_long)0x00000000</P>
<P ALIGN="JUSTIFY">#define INADDR_LOOPBACK         0x7f000001</P>
<P ALIGN="JUSTIFY">#define INADDR_BROADCAST        (u_long)0xffffffff</P>
<P ALIGN="JUSTIFY">#define INADDR_NONE             0xffffffff</P>
<P ALIGN="JUSTIFY"></P>
<P ALIGN="JUSTIFY">/*</P>
<P ALIGN="JUSTIFY"> * Socket address, internet style.</P>
<P ALIGN="JUSTIFY"> */</P>
<P ALIGN="JUSTIFY">struct sockaddr_in {</P>
<P ALIGN="JUSTIFY">        short   sin_family;</P>
<P ALIGN="JUSTIFY">        u_short sin_port;</P>
<P ALIGN="JUSTIFY">        struct  in_addr sin_addr;</P>
<P ALIGN="JUSTIFY">        char    sin_zero[8];</P>
<P ALIGN="JUSTIFY">};</P>
<P ALIGN="JUSTIFY"></P>
<P ALIGN="JUSTIFY">#define WSADESCRIPTION_LEN      256</P>
<P ALIGN="JUSTIFY">#define WSASYS_STATUS_LEN       128</P>
<P ALIGN="JUSTIFY"></P>
<P ALIGN="JUSTIFY">typedef struct WSAData {</P>
<P ALIGN="JUSTIFY">        WORD                    wVersion;</P>
<P ALIGN="JUSTIFY">        WORD                    wHighVersion;</P>
<P ALIGN="JUSTIFY">        char</P>
<P ALIGN="JUSTIFY">szDescription[WSADESCRIPTION_LEN+1];</P>
<P ALIGN="JUSTIFY">        char</P>
<P ALIGN="JUSTIFY">szSystemStatus[WSASYS_STATUS_LEN+1];</P>
<P ALIGN="JUSTIFY">        unsigned short          iMaxSockets;</P>
<P ALIGN="JUSTIFY">        unsigned short          iMaxUdpDg;</P>
<P ALIGN="JUSTIFY">        char FAR *              lpVendorInfo;</P>
<P ALIGN="JUSTIFY">} WSADATA, FAR * LPWSADATA;</P>
<P ALIGN="JUSTIFY"></P>
<P ALIGN="JUSTIFY">typedef WSADATA FAR *LPWSADATA;</P>
<P ALIGN="JUSTIFY"></P>
<P ALIGN="JUSTIFY">#if !defined(MAKEWORD)</P>
<P ALIGN="JUSTIFY">     #define MAKEWORD(low,high) \</P>
<P ALIGN="JUSTIFY">          ((WORD)((BYTE)(low)) | (((WORD)(BYTE)(high))&lt;&lt;8)))</P>
<P ALIGN="JUSTIFY">#endif</P>
<P ALIGN="JUSTIFY"></P>
<P ALIGN="JUSTIFY"> </P>
<P ALIGN="JUSTIFY">/*</P>
<P ALIGN="JUSTIFY"> * Options for use with [gs]etsockopt at the IP level.</P>
<P ALIGN="JUSTIFY"> */</P>
<P ALIGN="JUSTIFY">#define IP_OPTIONS      1               /* set/get IP per-</P>
<P ALIGN="JUSTIFY">packet options */</P>
<P ALIGN="JUSTIFY"></P>
<P ALIGN="JUSTIFY">/*</P>
<P ALIGN="JUSTIFY"> * Definitions related to sockets: types, address families,</P>
<P ALIGN="JUSTIFY">options,</P>
<P ALIGN="JUSTIFY"> * taken from the BSD file sys/socket.h.</P>
<P ALIGN="JUSTIFY"> */</P>
<P ALIGN="JUSTIFY"></P>
<P ALIGN="JUSTIFY">/*</P>
<P ALIGN="JUSTIFY"> * This is used instead of -1, since the</P>
<P ALIGN="JUSTIFY"> * SOCKET type is unsigned.</P>
<P ALIGN="JUSTIFY"> */</P>
<P ALIGN="JUSTIFY">#define INVALID_SOCKET  (SOCKET)(~0)</P>
<P ALIGN="JUSTIFY">#define SOCKET_ERROR            (-1)</P>
<P ALIGN="JUSTIFY"></P>
<P ALIGN="JUSTIFY">/*</P>
<P ALIGN="JUSTIFY"> * Types</P>
<P ALIGN="JUSTIFY"> */</P>
<P ALIGN="JUSTIFY">#define SOCK_STREAM     1               /* stream socket */</P>
<P ALIGN="JUSTIFY">#define SOCK_DGRAM      2               /* datagram socket</P>
<P ALIGN="JUSTIFY">*/</P>
<P ALIGN="JUSTIFY">#define SOCK_RAW        3               /* raw-protocol</P>
<P ALIGN="JUSTIFY">interface */</P>
<P ALIGN="JUSTIFY">#define SOCK_RDM        4               /* reliably-</P>
<P ALIGN="JUSTIFY">delivered message */</P>
<P ALIGN="JUSTIFY">#define SOCK_SEQPACKET  5               /* sequenced packet</P>
<P ALIGN="JUSTIFY">stream */</P>
<P ALIGN="JUSTIFY"></P>
<P ALIGN="JUSTIFY">/*</P>
<P ALIGN="JUSTIFY"> * Option flags per-socket.</P>
<P ALIGN="JUSTIFY"> */</P>
<P ALIGN="JUSTIFY">#define SO_DEBUG        0x0001          /* turn on debugging</P>
<P ALIGN="JUSTIFY">info recording */</P>
<P ALIGN="JUSTIFY">#define SO_ACCEPTCONN   0x0002          /* socket has had</P>
<P ALIGN="JUSTIFY">listen() */</P>
<P ALIGN="JUSTIFY">#define SO_REUSEADDR    0x0004          /* allow local</P>
<P ALIGN="JUSTIFY">address reuse */</P>
<P ALIGN="JUSTIFY">#define SO_KEEPALIVE    0x0008          /* keep connections</P>
<P ALIGN="JUSTIFY">alive */</P>
<P ALIGN="JUSTIFY">#define SO_DONTROUTE    0x0010          /* just use</P>
<P ALIGN="JUSTIFY">interface addresses */</P>
<P ALIGN="JUSTIFY">#define SO_BROADCAST    0x0020          /* permit sending of</P>
<P ALIGN="JUSTIFY">broadcast msgs */</P>
<P ALIGN="JUSTIFY">#define SO_USELOOPBACK  0x0040          /* bypass hardware</P>
<P ALIGN="JUSTIFY">when possible */</P>
<P ALIGN="JUSTIFY">#define SO_LINGER       0x0080          /* linger on close</P>
<P ALIGN="JUSTIFY">if data present */</P>
<P ALIGN="JUSTIFY">#define SO_OOBINLINE    0x0100          /* leave received</P>
<P ALIGN="JUSTIFY">OOB data in line */</P>
<P ALIGN="JUSTIFY"></P>
<P ALIGN="JUSTIFY">#define SO_DONTLINGER   (int)(~SO_LINGER)</P>
<P ALIGN="JUSTIFY"></P>
<P ALIGN="JUSTIFY">/*</P>
<P ALIGN="JUSTIFY"> * Additional options.</P>
<P ALIGN="JUSTIFY"> */</P>
<P ALIGN="JUSTIFY">#define SO_SNDBUF       0x1001          /* send buffer size</P>
<P ALIGN="JUSTIFY">*/</P>
<P ALIGN="JUSTIFY">#define SO_RCVBUF       0x1002          /* receive buffer</P>
<P ALIGN="JUSTIFY">size */</P>
<P ALIGN="JUSTIFY">#define SO_SNDLOWAT     0x1003          /* send low-water</P>
<P ALIGN="JUSTIFY">mark */</P>
<P ALIGN="JUSTIFY">#define SO_RCVLOWAT     0x1004          /* receive low-water</P>
<P ALIGN="JUSTIFY">mark */</P>
<P ALIGN="JUSTIFY">#define SO_SNDTIMEO     0x1005          /* send timeout */</P>
<P ALIGN="JUSTIFY">#define SO_RCVTIMEO     0x1006          /* receive timeout</P>
<P ALIGN="JUSTIFY">*/</P>
<P ALIGN="JUSTIFY">#define SO_ERROR        0x1007          /* get error status</P>
<P ALIGN="JUSTIFY">and clear */</P>
<P ALIGN="JUSTIFY">#define SO_TYPE         0x1008          /* get socket type</P>
<P ALIGN="JUSTIFY">*/</P>
<P ALIGN="JUSTIFY"></P>
<P ALIGN="JUSTIFY">/*</P>

⌨️ 快捷键说明

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