📄 dllping.html
字号:
<font color="#2040a0">cerr</font> <font color="4444FF"><</font><font color="4444FF"><</font> <font color="#008000">"Failed to allocate global ping packet buffer."</font> <font color="4444FF"><</font><font color="4444FF"><</font> <font color="#2040a0">endl</font><font color="4444FF">;</font> <strong>return</strong> <font color="#FF0000">6</font><font color="4444FF">;</font> <font color="4444FF"><strong>}</strong></font> <font color="#2040a0">pIpe</font><font color="4444FF">-</font><font color="4444FF">></font><font color="#2040a0">Data</font> <font color="4444FF">=</font> <font color="#2040a0">acPingBuffer</font><font color="4444FF">;</font> <font color="#2040a0">pIpe</font><font color="4444FF">-</font><font color="4444FF">></font><font color="#2040a0">DataSize</font> <font color="4444FF">=</font> <strong>sizeof</strong><font color="4444FF">(</font><font color="#2040a0">acPingBuffer</font><font color="4444FF">)</font><font color="4444FF">;</font> <font color="#444444">// Send the ping packet</font> <font color="#2040a0">DWORD</font> <font color="#2040a0">dwStatus</font> <font color="4444FF">=</font> <font color="#2040a0">pIcmpSendEcho</font><font color="4444FF">(</font><font color="#2040a0">hIP</font>, <font color="4444FF">*</font><font color="4444FF">(</font><font color="4444FF">(</font><font color="#2040a0">DWORD</font><font color="4444FF">*</font><font color="4444FF">)</font><font color="#2040a0">phe</font><font color="4444FF">-</font><font color="4444FF">></font><font color="#2040a0">h_addr_list</font><font color="4444FF">[</font><font color="#FF0000">0</font><font color="4444FF">]</font><font color="4444FF">)</font>, <font color="#2040a0">acPingBuffer</font>, <strong>sizeof</strong><font color="4444FF">(</font><font color="#2040a0">acPingBuffer</font><font color="4444FF">)</font>, <font color="#2040a0">NULL</font>, <font color="#2040a0">pIpe</font>, <strong>sizeof</strong><font color="4444FF">(</font><font color="#2040a0">IP_ECHO_REPLY</font><font color="4444FF">)</font> <font color="4444FF">+</font> <strong>sizeof</strong><font color="4444FF">(</font><font color="#2040a0">acPingBuffer</font><font color="4444FF">)</font>, <font color="#FF0000">5000</font><font color="4444FF">)</font><font color="4444FF">;</font> <strong>if</strong> <font color="4444FF">(</font><font color="#2040a0">dwStatus</font> <font color="4444FF">!</font><font color="4444FF">=</font> <font color="#FF0000">0</font><font color="4444FF">)</font> <font color="4444FF"><strong>{</strong></font> <font color="#2040a0">cout</font> <font color="4444FF"><</font><font color="4444FF"><</font> <font color="#008000">"Addr: "</font> <font color="4444FF"><</font><font color="4444FF"><</font> <strong>int</strong><font color="4444FF">(</font><font color="#2040a0">LOBYTE</font><font color="4444FF">(</font><font color="#2040a0">LOWORD</font><font color="4444FF">(</font><font color="#2040a0">pIpe</font><font color="4444FF">-</font><font color="4444FF">></font><font color="#2040a0">Address</font><font color="4444FF">)</font><font color="4444FF">)</font><font color="4444FF">)</font> <font color="4444FF"><</font><font color="4444FF"><</font> <font color="#008000">"."</font> <font color="4444FF"><</font><font color="4444FF"><</font> <strong>int</strong><font color="4444FF">(</font><font color="#2040a0">HIBYTE</font><font color="4444FF">(</font><font color="#2040a0">LOWORD</font><font color="4444FF">(</font><font color="#2040a0">pIpe</font><font color="4444FF">-</font><font color="4444FF">></font><font color="#2040a0">Address</font><font color="4444FF">)</font><font color="4444FF">)</font><font color="4444FF">)</font> <font color="4444FF"><</font><font color="4444FF"><</font> <font color="#008000">"."</font> <font color="4444FF"><</font><font color="4444FF"><</font> <strong>int</strong><font color="4444FF">(</font><font color="#2040a0">LOBYTE</font><font color="4444FF">(</font><font color="#2040a0">HIWORD</font><font color="4444FF">(</font><font color="#2040a0">pIpe</font><font color="4444FF">-</font><font color="4444FF">></font><font color="#2040a0">Address</font><font color="4444FF">)</font><font color="4444FF">)</font><font color="4444FF">)</font> <font color="4444FF"><</font><font color="4444FF"><</font> <font color="#008000">"."</font> <font color="4444FF"><</font><font color="4444FF"><</font> <strong>int</strong><font color="4444FF">(</font><font color="#2040a0">HIBYTE</font><font color="4444FF">(</font><font color="#2040a0">HIWORD</font><font color="4444FF">(</font><font color="#2040a0">pIpe</font><font color="4444FF">-</font><font color="4444FF">></font><font color="#2040a0">Address</font><font color="4444FF">)</font><font color="4444FF">)</font><font color="4444FF">)</font> <font color="4444FF"><</font><font color="4444FF"><</font> <font color="#008000">", "</font> <font color="4444FF"><</font><font color="4444FF"><</font> <font color="#008000">"RTT: "</font> <font color="4444FF"><</font><font color="4444FF"><</font> <strong>int</strong><font color="4444FF">(</font><font color="#2040a0">pIpe</font><font color="4444FF">-</font><font color="4444FF">></font><font color="#2040a0">RoundTripTime</font><font color="4444FF">)</font> <font color="4444FF"><</font><font color="4444FF"><</font> <font color="#008000">"ms, "</font> <font color="4444FF"><</font><font color="4444FF"><</font> <font color="#008000">"TTL: "</font> <font color="4444FF"><</font><font color="4444FF"><</font> <strong>int</strong><font color="4444FF">(</font><font color="#2040a0">pIpe</font><font color="4444FF">-</font><font color="4444FF">></font><font color="#2040a0">Options</font>.<font color="#2040a0">Ttl</font><font color="4444FF">)</font> <font color="4444FF"><</font><font color="4444FF"><</font> <font color="#2040a0">endl</font><font color="4444FF">;</font> <font color="4444FF"><strong>}</strong></font> <strong>else</strong> <font color="4444FF"><strong>{</strong></font> <font color="#2040a0">cerr</font> <font color="4444FF"><</font><font color="4444FF"><</font> <font color="#008000">"Error obtaining info from ping packet."</font> <font color="4444FF"><</font><font color="4444FF"><</font> <font color="#2040a0">endl</font><font color="4444FF">;</font> <font color="4444FF"><strong>}</strong></font> <font color="#444444">// Shut down...</font> <font color="#2040a0">GlobalFree</font><font color="4444FF">(</font><font color="#2040a0">pIpe</font><font color="4444FF">)</font><font color="4444FF">;</font> <font color="#2040a0">FreeLibrary</font><font color="4444FF">(</font><font color="#2040a0">hIcmp</font><font color="4444FF">)</font><font color="4444FF">;</font> <strong>return</strong> <font color="#FF0000">0</font><font color="4444FF">;</font><font color="4444FF"><strong>}</strong></font><strong>int</strong> <font color="#2040a0">main</font><font color="4444FF">(</font><strong>int</strong> <font color="#2040a0">argc</font>, <strong>char</strong><font color="4444FF">*</font> <font color="#2040a0">argv</font><font color="4444FF">[</font><font color="4444FF">]</font><font color="4444FF">)</font><font color="4444FF"><strong>{</strong></font> <font color="#2040a0">WSAData</font> <font color="#2040a0">wsaData</font><font color="4444FF">;</font> <strong>if</strong> <font color="4444FF">(</font><font color="#2040a0">WSAStartup</font><font color="4444FF">(</font><font color="#2040a0">MAKEWORD</font><font color="4444FF">(</font><font color="#FF0000">1</font>, <font color="#FF0000">1</font><font color="4444FF">)</font>, <font color="4444FF">&</font><font color="#2040a0">wsaData</font><font color="4444FF">)</font> <font color="4444FF">!</font><font color="4444FF">=</font> <font color="#FF0000">0</font><font color="4444FF">)</font> <font color="4444FF"><strong>{</strong></font> <strong>return</strong> <font color="#FF0000">255</font><font color="4444FF">;</font> <font color="4444FF"><strong>}</strong></font> <strong>int</strong> <font color="#2040a0">retval</font> <font color="4444FF">=</font> <font color="#2040a0">doit</font><font color="4444FF">(</font><font color="#2040a0">argc</font>, <font color="#2040a0">argv</font><font color="4444FF">)</font><font color="4444FF">;</font> <font color="#2040a0">WSACleanup</font><font color="4444FF">(</font><font color="4444FF">)</font><font color="4444FF">;</font> <strong>return</strong> <font color="#2040a0">retval</font><font color="4444FF">;</font><font color="4444FF"><strong>}</strong></font></pre><hr noshade size=1 color=#404040><h4 class=lmargin><a href="../examples/src/icmpdefs.h">icmpdefs.h</a></h4><pre><font color="#444444">// Structures required to use functions in ICMP.DLL</font><strong>typedef</strong> <strong>struct</strong> <font color="4444FF"><strong>{</strong></font> <strong>unsigned</strong> <strong>char</strong> <font color="#2040a0">Ttl</font><font color="4444FF">;</font> <font color="#444444">// Time To Live</font> <strong>unsigned</strong> <strong>char</strong> <font color="#2040a0">Tos</font><font color="4444FF">;</font> <font color="#444444">// Type Of Service</font> <strong>unsigned</strong> <strong>char</strong> <font color="#2040a0">Flags</font><font color="4444FF">;</font> <font color="#444444">// IP header flags</font> <strong>unsigned</strong> <strong>char</strong> <font color="#2040a0">OptionsSize</font><font color="4444FF">;</font> <font color="#444444">// Size in bytes of options data</font> <strong>unsigned</strong> <strong>char</strong> <font color="4444FF">*</font><font color="#2040a0">OptionsData</font><font color="4444FF">;</font> <font color="#444444">// Pointer to options data</font><font color="4444FF"><strong>}</strong></font> <font color="#2040a0">IP_OPTION_INFORMATION</font>, <font color="4444FF">*</font> <font color="#2040a0">PIP_OPTION_INFORMATION</font><font color="4444FF">;</font><strong>typedef</strong> <strong>struct</strong> <font color="4444FF"><strong>{</strong></font> <font color="#2040a0">DWORD</font> <font color="#2040a0">Address</font><font color="4444FF">;</font> <font color="#444444">// Replying address</font> <strong>unsigned</strong> <strong>long</strong> <font color="#2040a0">Status</font><font color="4444FF">;</font> <font color="#444444">// Reply status</font> <strong>unsigned</strong> <strong>long</strong> <font color="#2040a0">RoundTripTime</font><font color="4444FF">;</font> <font color="#444444">// RTT in milliseconds</font> <strong>unsigned</strong> <strong>short</strong> <font color="#2040a0">DataSize</font><font color="4444FF">;</font> <font color="#444444">// Echo data size</font> <strong>unsigned</strong> <strong>short</strong> <font color="#2040a0">Reserved</font><font color="4444FF">;</font> <font color="#444444">// Reserved for system use</font> <strong>void</strong> <font color="4444FF">*</font><font color="#2040a0">Data</font><font color="4444FF">;</font> <font color="#444444">// Pointer to the echo data</font> <font color="#2040a0">IP_OPTION_INFORMATION</font> <font color="#2040a0">Options</font><font color="4444FF">;</font> <font color="#444444">// Reply options</font><font color="4444FF"><strong>}</strong></font> <font color="#2040a0">IP_ECHO_REPLY</font>, <font color="4444FF">*</font> <font color="#2040a0">PIP_ECHO_REPLY</font><font color="4444FF">;</font></pre><hr noshade size=1 color=#404040><font size=+1><p class=lmargin><a href="../advanced.html">Back to the Advanced Issues page...</a><br><a href="index.html">Back to the Examples page...</a></p></font> </td> </tr></table><!-- ---- Document Footer ---- --><hr noshade size=1 color=#404040><table cellpadding=5 cellspacing=0 border=0 width=95% align=center> <tr> <td align=left> <a href="../examples/basics/basic-server.html"><< Basic Blocking Server</a> </td> <td align=right> <a href="../examples/rawping.html">Ping: Raw Sockets Method >></a> </td> </tr> <tr> <td align=left> <i>Last modified on 29 April 2000 at 15:52 UTC-7</i> </td> <td align=right> <font size=-1>Please send corrections to <a href="mailto:tangent@cyberport.com">tangent@cyberport.com</a>.</font> </td> </tr> </table> <table cellpadding=5 cellspacing=0 border=0 width=95% align=center> <tr> <td align=left width=33%> <font size=-1> <a href="../index.html"><b><</b> Go to the main FAQ page</a> </font> </td> <td width=33%> <font size=-1> <center> <a href="http://www.cyberport.com/~tangent/programming"><b><<</b> Go to my Programming pages</a> </center> </font> </td> <td align=right width=33%> <font size=-1> <a href="http://www.cyberport.com/~tangent/"><b><<<</b> Go to my Home Page</a> </font> </td> </tr> </table> </body></html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -