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

📄 5-1.html

📁 WinSock编程规范及应用
💻 HTML
📖 第 1 页 / 共 5 页
字号:
<P ALIGN="JUSTIFY"></P>
<P ALIGN="JUSTIFY">参见:</P>
</FONT><FONT SIZE=3><P ALIGN="JUSTIFY">  htons(), ntohl(), ntohs().</P>
<P ALIGN="JUSTIFY">  </P>
<P ALIGN="JUSTIFY"> </P>
</FONT><B><FONT FACE="宋体" LANG="ZH-CN" SIZE=5><P><A NAME="_Toc336626839"><A NAME="_Toc336792922"><A NAME="_Toc336793398"></FONT><FONT SIZE=5>5.1.9 htons()</A></A></A></P>
</B></FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3><P ALIGN="JUSTIFY">简述:</P>
</FONT><FONT SIZE=3><P ALIGN="JUSTIFY">  </FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>将主机的无符号短整形数转换成网络字节顺序。</P>
<P ALIGN="JUSTIFY"></P>
</FONT><FONT SIZE=3><P ALIGN="JUSTIFY">  #include &lt;winsock.h&gt;</P>
<P ALIGN="JUSTIFY">  </P>
<P ALIGN="JUSTIFY">  u_short PASCAL FAR htons( u_short hostshort);</P>
<P ALIGN="JUSTIFY"></P>
<P ALIGN="JUSTIFY">  hostshort</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>:主机字节顺序表达的</FONT><FONT SIZE=3>16</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>位数。</P>
<P ALIGN="JUSTIFY"></P>
<P ALIGN="JUSTIFY">注释:</P>
</FONT><FONT SIZE=3><P ALIGN="JUSTIFY">  </FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>本函数将一个</FONT><FONT SIZE=3>16</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>位数从主机字节顺序转换成网络字节顺序。</P>
<P ALIGN="JUSTIFY"></P>
<P ALIGN="JUSTIFY">返回值:</P>
</FONT><FONT SIZE=3><P ALIGN="JUSTIFY">  htons()</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>返回一个网络字节顺序的值。</P>
<P ALIGN="JUSTIFY"></P>
<P ALIGN="JUSTIFY">参见:</P>
</FONT><FONT SIZE=3><P ALIGN="JUSTIFY">  htonl(), ntohl(), ntohs().  </P>
<P ALIGN="JUSTIFY"> </P>
</FONT><B><FONT FACE="宋体" LANG="ZH-CN" SIZE=5><P><A NAME="_Toc336626840"><A NAME="_Toc336792923"><A NAME="_Toc336793399"></FONT><FONT SIZE=5>5.1.10 inet_addr()</A></A></A></P>
</B></FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3><P ALIGN="JUSTIFY">简述:将一个点间隔地址转换成一个</FONT><FONT SIZE=3>in_addr</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>。</P>
<P ALIGN="JUSTIFY"></P>
</FONT><FONT SIZE=3><P ALIGN="JUSTIFY">  #include &lt;winsock.h&gt;</P>
<P ALIGN="JUSTIFY"></P>
<P ALIGN="JUSTIFY">  unsigned long PASCAL FAR inet_addr( const struct FAR* cp);</P>
<P ALIGN="JUSTIFY"></P>
<P ALIGN="JUSTIFY">  cp</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>:一个以</FONT><FONT SIZE=3>Internet</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>标准“</FONT><FONT SIZE=3>.</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>”间隔的字符串。</P>
<P ALIGN="JUSTIFY"></P>
<P ALIGN="JUSTIFY">注释:</P>
</FONT><FONT SIZE=3><P ALIGN="JUSTIFY">  </FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>本函数解释</FONT><FONT SIZE=3>cp</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>参数中的字符串,这个字符串用</FONT><FONT SIZE=3>Internet</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>的“</FONT><FONT SIZE=3>.</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>”间隔格式表示一个数字的</FONT><FONT SIZE=3>Internet</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>地址。返回值可用作</FONT><FONT SIZE=3>Internet</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>地址。所有</FONT><FONT SIZE=3>Internet</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>地址以网络字节顺序返回</FONT><FONT SIZE=3>(</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>字节从左到右排列</FONT><FONT SIZE=3>)</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>。</P>
</FONT><FONT SIZE=3><P ALIGN="JUSTIFY">  Internet</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>地址用“</FONT><FONT SIZE=3>.</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>”间隔的地址可有下列几种表达方式:</P>
</FONT><FONT SIZE=3><P ALIGN="JUSTIFY">  a.b.c.d</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>,</FONT><FONT SIZE=3>a.b.c</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>,</FONT><FONT SIZE=3>a.b</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>,</FONT><FONT SIZE=3>a</P>
<P ALIGN="JUSTIFY">  </FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>当四个部分都有定值时,每个都解释成一个字节数据,从左到右组成</FONT><FONT SIZE=3>Internet</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>四字节地址。请注意,当一个</FONT><FONT SIZE=3>Internet</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>地址在</FONT><FONT SIZE=3>Intel</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>机器上表示成一个</FONT><FONT SIZE=3>32</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>位整型数时,则上述的字节为“</FONT><FONT SIZE=3>d.c.b.a</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>”。这是因为</FONT><FONT SIZE=3>Intel</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>处理器的字节是从右向左排列的。</P>
</FONT><FONT SIZE=3><P ALIGN="JUSTIFY">  </FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>请注意:只有</FONT><FONT SIZE=3>Berkeley</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>支持下述表达法,</FONT><FONT SIZE=3>Internet</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>其余各处均不支持。考虑到与软件的兼容性,应按规定进行使用。</P>
</FONT><FONT SIZE=3><P ALIGN="JUSTIFY">  </FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>对一个三部分地址,最后一部分解释成</FONT><FONT SIZE=3>16</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>位数据并作为网络地址的最右两个字节。这样,三部分地址便很容易表示</FONT><FONT SIZE=3>B</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>组网络地址,如“</FONT><FONT SIZE=3>128.net.host</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>”</FONT><FONT SIZE=3>.</P>
<P ALIGN="JUSTIFY">  </FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>对一个两部分地址,最后一部分解释成</FONT><FONT SIZE=3>24</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>位数据并作为网络地址的最右三个字节,这样,两部分地址便很容易表示</FONT><FONT SIZE=3>C</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>组网络地址,如“</FONT><FONT SIZE=3>net.host</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>”。</P>
</FONT><FONT SIZE=3><P ALIGN="JUSTIFY">  </FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>对仅有一个部分的地址,则将它的值直接存入网络地址不作任何字节的重组。</P>
<P ALIGN="JUSTIFY"></P>
<P ALIGN="JUSTIFY">返回值:</P>
</FONT><FONT SIZE=3><P ALIGN="JUSTIFY">  </FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>若无错误发生,</FONT><FONT SIZE=3>inet_addr()</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>返回一个无符号长整型数,其中以适当字节顺序存放</FONT><FONT SIZE=3>Internet</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>地址。如果传入的字符串不是一个合法的</FONT><FONT SIZE=3>Internet</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>地址,如“</FONT><FONT SIZE=3>a.b.c.d</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>”地址中任一项超过</FONT><FONT SIZE=3>255</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>,那么</FONT><FONT SIZE=3>inet_addr()</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>返回</FONT><FONT SIZE=3>INADDR_NONE</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>。</P>
<P ALIGN="JUSTIFY"></P>
<P ALIGN="JUSTIFY">参见:</P>
</FONT><FONT SIZE=3><P ALIGN="JUSTIFY">  inet_ntoa().</P>
<P ALIGN="JUSTIFY"></P>
<P ALIGN="JUSTIFY"> </P>
</FONT><B><FONT FACE="宋体" LANG="ZH-CN" SIZE=5><P><A NAME="_Toc336626841"><A NAME="_Toc336792924"><A NAME="_Toc336793400"></FONT><FONT SIZE=5>5.1.11 inet_ntoa()</A></A></A></P>
</B></FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3><P ALIGN="JUSTIFY">简述:</P>
</FONT><FONT SIZE=3><P ALIGN="JUSTIFY">  </FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>将网络地址转换成“</FONT><FONT SIZE=3>.</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>”点隔的字符串格式。</P>
<P ALIGN="JUSTIFY"></P>
</FONT><FONT SIZE=3><P ALIGN="JUSTIFY">  #include &lt;winsock.h&gt;</P>
<P ALIGN="JUSTIFY"></P>
<P ALIGN="JUSTIFY">  char FAR* PASCAL FAR inet_ntoa( struct in_addr in);</P>
<P ALIGN="JUSTIFY"></P>
<P ALIGN="JUSTIFY">  in</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>:一个表示</FONT><FONT SIZE=3>Internet</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>主机地址的结构。</P>
<P ALIGN="JUSTIFY"></P>
<P ALIGN="JUSTIFY">注释:</P>
</FONT><FONT SIZE=3><P ALIGN="JUSTIFY">  </FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>本函数将一个用</FONT><FONT SIZE=3>in</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>参数所表示的</FONT><FONT SIZE=3>Internet</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>地址结构转换成以“</FONT><FONT SIZE=3>.</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>”</FONT><FONT SIZE=3> </FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>间隔的诸如“</FONT><FONT SIZE=3>a.b.c.d</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>”的字符串形式。请注意</FONT><FONT SIZE=3>inet_ntoa()</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>返回的字符串存放在</FONT><FONT SIZE=3>WINDOWS</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>套接口实现所分配的内存中。应用程序不应假设该内存是如何分配的。在同一个线程的下一个</FONT><FONT SIZE=3>WINDOWS</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>套接口调用前,数据将保证是有效。</P>
<P ALIGN="JUSTIFY"></P>
<P ALIGN="JUSTIFY">返回值:</P>
</FONT><FONT SIZE=3><P ALIGN="JUSTIFY">  </FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>若无错误发生,</FONT><FONT SIZE=3>inet_ntoa()</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>返回一个字符指针。否则的话,返回</FONT><FONT SIZE=3>NVLL</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>。其中的数据应在下一个</FONT><FONT SIZE=3>WINDOWS</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>套接口调用前复制出来。</P>
<P ALIGN="JUSTIFY"></P>
<P ALIGN="JUSTIFY">参见:</P>
</FONT><FONT SIZE=3><P ALIGN="JUSTIFY">  inet_addr().</P>
<P ALIGN="JUSTIFY"></P>
<P ALIGN="JUSTIFY"> </P>
</FONT><B><FONT FACE="宋体" LANG="ZH-CN" SIZE=5><P><A NAME="_Toc336626842"><A NAME="_Toc336792925"><A NAME="_Toc336793401"></FONT><FONT SIZE=5>5.1.12 ioctlsocket()</A></A></A></P>
</B></FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3><P ALIGN="JUSTIFY">简述</FONT><FONT SIZE=3>:</P>
<P ALIGN="JUSTIFY">  </FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>控制套接口的模式。</P>
<P ALIGN="JUSTIFY"></P>
</FONT><FONT SIZE=3><P ALIGN="JUSTIFY">  #include &lt;winsock.h&gt;</P>
<P ALIGN="JUSTIFY"></P>
<P ALIGN="JUSTIFY">  int PASCAL FAR ioctlsocket( SOCKET s, long cmd, u_long FAR* argp);</P>
<P ALIGN="JUSTIFY"></P>
<P ALIGN="JUSTIFY">  s</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>:一个标识套接口的描述字。</P>
</FONT><FONT SIZE=3><P ALIGN="JUSTIFY">  cmd</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>:对套接口</FONT><FONT SIZE=3>s</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>的操作命令。</P>
</FONT><FONT SIZE=3><P ALIGN="JUSTIFY">  argp</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>:指向</FONT><FONT SIZE=3>cmd</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>命令所带参数的指针。</P>
<P ALIGN="JUSTIFY"></P>
<P ALIGN=

⌨️ 快捷键说明

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