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.

DSP6455基于NDK进行UDP网络通信时一次性发包上限为1472



TI的技术支持你们好,以下是我所遇到的问题:

电脑操作系统:XP SP3;

使用的DSP:C6455小端模式;

使用的板卡:自研;

开发工具:ccs3.3;

网络开发工具:NDK;

我在NDK所提供的helloworld程序的基础上进行改造,可以实现利用socket进行TCP或者UDP模式下的网络通信,这可以说明基本功能是正常的,并且我对示例程序并没有做根本性改动。当我使用UDP协议进行通信时,利用sento函数进行发包,当发送的数据字节数为1~1472时,可以在电脑上通过网口调试工具正常接收到数据,但当发送字节数超过1472时,sendto函数就返回-1,接收端未收到任何数据,利用抓包工具wireshark也未监视到任何数据,此时利用fdError函数得到的错误码为55,提示发送消息过长。通过网上查找资料得知,根据协议,UDP包在去头去尾后留给应用层的数据最大确实为1472,但当数据超过1472时,协议应当能够自动分割大包,不知道为何会提示发送消息过长。请问NDK是否支持一次性发送超过1472字节的大包,是否需要使用某些函数配置DSP,希望能够详细说明,谢谢。

  • 非常感谢您的回答,我使用的是1.93版本,我换成2.0以上版本再试试。

  • Shine Zhang,

                          您好!

                          我的开发板是OMAPL137的DSP,最近在使用NDK实现PC机与DSP的通信,但是在运行NDK的列子client时,出现以下情况:

           TCP/IP Stack Example Client Using MAC Address: f0-0f-f0-0f-f0-0f  

          EMAC should be up and running 

          EMAC has been started successfully

         Registeration of the EMAC Successful

         Service Status: DHCPC    : Enabled  :          : 000

         Service Status: Telnet   : Enabled  :          : 000

         Service Status: HTTP     : Enabled  :          : 000

         Service Status: DHCPC    : Enabled  : Running  : 000

         Link Status: 100Mb/s Full Duplex on PHY 0

        Service Status: DHCPC    : Enabled  : Fault    : 002

        Service Status: DHCPC    : Disabled :          : 000

        Service Status: DHCPC    : Enabled  :          : 000

        Service Status: DHCPC    : Enabled  : Running  : 000

       没有出现所谓的IP地址和其他信息。十分感谢您抽出宝贵的时间看我的问题,希望得到您的帮助。

       谢谢!