具体是这样的,PC和DSP进行UDP无连接的网络通信,通过PC发送命令给DSP,但是每次DSP重新上电的时候,PC发命令的时候,都会发送ARP请求广播包,而没有命令发过去,那么我应该怎么禁止这样的包,而一上电自动可以开始发送命令过去呢,请大家帮我分析一下,谢谢

解决方案 »

  1.   

    没有 ARP 的话,os知道你要发给谁么? IP和mac不一致的
      

  2.   

    你可以在pc端用arp命令加一個靜態的arp緩存條目,有了dsp的ip和mac的對照條目,udp在髮送時就不會再發arp去查詢了.
      

  3.   

    同leon7909(leon) arp -s .......
      

  4.   

    那具体如何加一个静态ARP缓存条目呢?我没有这么做过,呵呵,请具体指导我一下
      

  5.   

    你先和那台机通信.然后在命令行下面打  arp -a可以看到这样的...
     Internet Address      Physical Address      Type
     157.55.85.212         00-aa-00-62-c6-09     dynamic然后你输出这样的命令行:
    arp -s 157.55.85.212   00-aa-00-62-c6-09
    再用arp -s 就可以看到
     Internet Address      Physical Address      Type
     157.55.85.212         00-aa-00-62-c6-09     static这就是静态的了.
    把arp -s 157.55.85.212   00-aa-00-62-c6-09这样的语句存在批处理, 放在计算机启动里, 或由你的那个UDP程序运行.
      

  6.   

    非常感谢楼上,我现在的UDP程序中就是用system(command)这个函数进行静态绑定的,但是当我运行完程序后,已经处于绑定的状态,为什么拔掉网线后,再插上静态绑定就消失了,就再也不能发送命令了,怎么才能够让这个绑定就一直存在这个计算机里呢
      

  7.   

    还有就是在我调用system(command)命令的时候,总是在我的程序界面上弹出一个控制台命令窗口,怎么才能让这个函数执行,但没有这样的窗口弹出呢
      

  8.   

    拔掉网线再插后, 网卡的arp表会清空. 用WinExec(command, SW_HIDE)代替system, 可以隐藏窗口.
      

  9.   

    真是太感谢neosu(neo)了,这么快就看到你的回复,非常感谢!
      

  10.   

    在DSP里实现ARP协议不就得了.上面的都不解根本. ARP协议很简单的,网上例子很多