TI中文支持网
TI专业的中文技术问题搜集分享网站

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,希望能够详细说明,谢谢。

ChengHao:

回复 Shine:

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

zhijun Han:

回复 Shine:

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地址和其他信息。十分感谢您抽出宝贵的时间看我的问题,希望得到您的帮助。

   谢谢!

赞(0)
未经允许不得转载:TI中文支持网 » DSP6455基于NDK进行UDP网络通信时一次性发包上限为1472
分享到: 更多 (0)