This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] TM4C129XNCZAD:如何使用 NDK 运行 ping 命令以检查网络中是否存在我的 IP

Guru**** 1818760 points
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1233233/tm4c129xnczad-how-can-i-run-ping-command-using-ndk-to-check-if-my-ip-exists-in-the-network

器件型号:TM4C129XNCZAD

我在 NDK/tools/console 中看到了包含 ping 函数的 NDK 内的函数,这些 API 是否有文档或示例项目?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

     我希望这个帖子会有所帮助。  

    https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/946076/ccs-tm4c129xnczad-ping-using-ndk?tisearch=e2e-sitesearch&keymatch=ndk%2520ping#

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    感谢 Charles 的回复  

    本文中的所有链接都不可用、我找不到这些 API 的任何描述

    void ICMPGenPacket( IPHDR *pIpHdr, HANDLE hIFRx, uint Type, uint Code, UINT32 Aux )
    void ICMPSendRtAdv( HANDLE hIFTx, uint Life, IPN IPAddr, long Pref )
    这些 API 在中定义  

     C:\ti\tirtos_tivac_2_16_00_08\products\NDK_2_25_00_09\packages/ti\ndk\stack\icmp\icmp.c

    我运行了本文中提到的示例、但我认为这取决于我不想强制使用的 XDC 配置  

    因此、我将这些文件保存在 C:\ti\tirtos_tivac_2_16_00_08\products\NDK_2_25_00_09\packages/ti\ndk\tools\console\conping.c
    并对其进行了一点修改、以删除硬编码的日志记录部分、我拥有了日志记录、因此我更改的这个自定义版本现在可以使用了  

    但问题是  

    我可以使用这些 API 吗


    ICMPGenPacket 和 
    ICMPSendRtAdv

    发送 ICMP 请求
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    本文中的所有链接均未提供,且我找不到这些 API 的任何描述
    [/报价]

    事实上,这些链接现在是无法访问的。 "对不起,我不知道该怎么说。"  

    因此我将这些文件打包到了 C:\ti\tirtos_tivac_2_16_00_08\products\NDK_2_25_00_09\packages\ti\ndk\tools\console\conping.c
    并对其进行了一点修改、以删除硬编码的日志记录部分、我拥有了日志记录、因此我更改的这个自定义版本现在可以使用了  

    但问题是  

    我可以使用这些 API 吗


    ICMPGenPacket 和 
    ICMPSendRtAdv
    [/报价]

    如果这些 API 适合您、我在使用时不会遇到问题。

    [/quote]
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我无法在该文件内直接"应对"运行 API、因此我复制并稍微修改了一下这些 API、但我可以针对此示例提供教程吗

    另一个问题是

    我找到了这两个 API
    ICMPGenPacket 和  ICMPSendRtAdv

    我不知道是否可以发送 ICMP ECHO 请求与它们中的任何一个。

    这两个 API (ICMPGenPacket 和  ICMPSendRtAdv)是否有任何 API 描述我找不到一个?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Hazem、

     很遗憾、我也找不到这两个函数的任何文档。 我做了一些搜索和一些文章的代码片段使用 ICMPGenPacket。 您也可以执行相同的搜索。 我想如果它能帮您解决问题、您应该会在 Wireshark 上看到一个符合此处所述数据包协议的8字节 ICMP 数据包。  https://en.wikipedia.org/wiki/Internet_Control_Message_Protocol