Thread 中讨论的其他器件:SYSBIOS
我使用的是网络包 NDK_evm6748_elf_HelloWorld、
NDK 版本:2.25.1.11、NSP 版本:1.10.3.15
SYSBIOS 6.46.4.53。
我从文档 SPRU524J–2001年5月第104页中获取了示例 TCP 回显服务器的代码,并修改如下:
#include
#include "HelloWorld.h"
#include
//
// dtask_tcp_hello()- UDP 回显服务器守护程序函数
//(SOCK_DGRAM、端口7)
//
//如果套接字"S"仍然打开则返回"1",如果已关闭则返回"0"
//
int dtask_tcp_echo (socket s、uint32未使用)
{
结构时间 val 至;
int i;
char *pBuf;
int i、j;
句柄 hBuffer;
(无效)未使用;
//将套接字超时配置为5秒
TO.tv_sec =空;//5;
TO.tV_usec = 0;
setsockopt( s, SOL_socket , SO_SNDTIME,&TO, sizeof(至));
setsockopt( s、SOL_socket、SO_RCVTIMEO、&to、sizeof (to));
I = 1;
setsockopt( s、IPPROTO_TCP、tcp_NOOPT、&i、4);
for (;;)
{
i =(int)recvnc( s,( void **)&pBuf,0&hBuffer );
//如果我们读取数据,则将其回显
如果(I > 0)
{
J=0;
对于(i=0;i<200;i++)
{
if (send(s、stringData+j、1000、0)< 0)
{
中断;
}
J=j+1000;
recvncfree( hBuffer);
}
}
//如果连接出现错误或断开,请关闭
其他
中断;
}
fdClose (s);
//返回"0",因为我们关闭了套接字
返回(0);
}
============================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================
stringData[]是一个大小为20000的字符数组。 我希望这些200000字节字符将被发出。 但是、我只有大约100000个字节。 我尝试暂停在调试模式下的运行。 在 for 循环完成之前,程序似乎会进入 Idle_run()。 尝试在 send()之后立即将断点设置为"break",从未达到。您能给我一些建议吗?
谢谢、
Andy