ch32v307vct6 使用 IPRaw_PING 例程的問題
  1. 使用 IPRaw_PING 例程

  2. 電腦的地址? 192.168.1.190? ? ? ? , 設(shè)備地址? 192.168.1.200


    u8 IPAddr[4]? ?= {192, 168, 1, 200};? ? ? ? ? ? ?//IP address

    u8 GWIPAddr[4] = {192, 168, 1, 1};? ? ? ? ? ? ? //Gateway IP address

    u8 IPMask[4]? ?= {255, 255, 255, 0};? ? ? ? ? ? //subnet mask

    u8 DESIP[4]? ? = {192, 168, 1, 190};? ? ? ? ? ? //destination IP address

  3. 使用上述配置? 電腦 ping 設(shè)備正常? ? 設(shè)備 ping 電腦也正常


  4. u8 IPAddr[4]? ?= {192, 168, 1, 200};? ? ? ? ? ? ?//IP address

  5. u8 GWIPAddr[4] = {192, 168, 1, 1};? ? ? ? ? ? ? //Gateway IP address

  6. u8 IPMask[4]? ?= {255, 255, 255, 0};? ? ? ? ? ? //subnet mask

  7. u8 DESIP[4]? ? = {192, 168, 2, 190};? ? ? ? ? ? //destination IP address

  8. 使用上述配置 電腦ping 設(shè)備不正常(這里應(yīng)該要能ping通) 設(shè)備 ping 電腦不通(這里對的) 都是 time out ,

    ffe3892c3c7ee00036336be0b9b3aa9.png

您好,IPRaw_PING例程只是演示如何主動ping的demo程序,當(dāng)iprawsocket置1后,協(xié)議棧就不再處理關(guān)于ping的包,且代碼邏輯為只應(yīng)答DESIP的ping包,所以即使您的電腦和板子在同一網(wǎng)段,但ip不是DESIP,那也不會回復(fù)ping包,所以無法ping通,這部分代碼需要您自己實現(xiàn)的。


代碼里沒看到有哪里處理 判斷DESIP的地方, 能方便再詳細(xì)的指導(dǎo)一下嗎?用的 Netlib庫,這個協(xié)議棧不是封裝好的嗎,外部好像也沒辦法處理吧


您好,因為處理的數(shù)據(jù)是通過socket來接收的,創(chuàng)建socket的目標(biāo)ip為DESIP,所以不會處理別的ip發(fā)的ping包,當(dāng)netconfig.h中WCHNET_NUM_IPRAW數(shù)量設(shè)置為1時,協(xié)議棧不會再處理ping包,而是交由應(yīng)用層,對于非目標(biāo)ip的ping包

處理,需要客戶自己實現(xiàn),若想使用協(xié)議棧的ping包處理機(jī)制,可以使用TCP等例程或?qū)?span>WCHNET_NUM_IPRAW清0

image.png

image.png



只有登錄才能回復(fù),可以選擇微信賬號登錄

国产91精品新入口,国产成人综合网在线播放,九热这里只有精品,本道在线观看,美女视频a美女视频,韩国美女激情视频,日本美女pvp视频