Part Number:TMS320C6678
在做多核的时候,核1创建了两个TCP的socket,其中一个socket用于核2发送一个高速率的大数据包,通过共享内存将socket的值转递给核2,核2调用send去发送,测试的时候,我每个包暂定25字节,每次send返回值都是25,但是抓包发现每一次发送数据都会迭代前一次的数据,如下图
FF为帧头,FF后面一个字节为帧计数,可见,我发了三包,第三包发的是ff 02 03 03…,可是抓包却抓到了之前发送的ff 00…和ff 01…同时,在包详情也可以看到,数据长度分别为25,50,75,应该每包都是25才对,这是为什么?
Shine:
请问如果不通过核1先传数据给核2, 核2自己发包可以么?
,
as a:
不可以,因为核2没有NDK的环境,socket是在核1通过NC_NetStart创建的
,
Shine:
那核1直接发送会有这样的问题么?核2没有NDK,是怎么调用send的?
,
as a:
核1没有问题,核2配置了NDK,只是没有调用NC_NetStart,核2用的socket是通过共享内存把核1的socket传过来的
,
Shine:
请贴一下核2的配置代码,我把您的问题转到e2e上咨询一下应用工程师。