大家好!我的问题如下:
我使用的软件版本为ccs5.2 BIOS 6_33_06_50 MCSDK 2_01_02_05 NDK 2_21_01_38 目标板为6678l evm
我将MCSDK/ndk目录下的client.c编译load到板子上后,ping通过。下面是 NetworkOpen()的原文:
static void NetworkOpen()
{
platform_write("netopenonetime\n"); //qgp
// Create our local servers
hEcho = DaemonNew( SOCK_STREAMNC, 0, 7, dtask_tcp_echo,OS_TASKPRINORM, OS_TASKSTKNORM, 0, 3 );
hEchoUdp = DaemonNew( SOCK_DGRAM, 0, 7, dtask_udp_echo,OS_TASKPRINORM, OS_TASKSTKNORM, 0, 1 );
hData = DaemonNew( SOCK_STREAM, 0, 1000, dtask_tcp_datasrv,OS_TASKPRINORM, OS_TASKSTKNORM, 0, 3 );
hNull = DaemonNew( SOCK_STREAMNC, 0, 1001, dtask_tcp_nullsrv,OS_TASKPRINORM, OS_TASKSTKNORM, 0, 3 );
hOob = DaemonNew( SOCK_STREAMNC, 0, 999, dtask_tcp_oobsrv,OS_TASKPRINORM, OS_TASKSTKNORM, 0, 3 );
问题是:当我用TCP调试助手往port 7发送字符串的时候,能够收到板子发回来的字符串,但是当我改写相应的回调函数dtask_tcp_echo()的时候,修改功能完全得不到实现,而对收发字符串却没有影响。甚至当我把dtask_tcp_echo()里的send部分删掉时也能收到返回的字符。
我现在感觉就像一团乱麻,完全不知道哪里理解错了,求大神解惑。