大家好 咨询一下 下面语句实现评估板和PC机的UDP通信 但评估板是在收到PC的数据后才进入UdpTest函数 recvncfrom收数 再sendto发数
如果想让评估板直接给PC发数 如何实现了???有没有相关程序了?配置要做修改?
do
{
rc = NC_NetStart( hCfg, NetworkOpen, NetworkClose, NetworkIPAddr );
} while( rc > 0 );
static void NetworkOpen()
{
hHello = DaemonNew( SOCK_DGRAM, 0, 1025, UdpTest,OS_TASKPRINORM, OS_TASKSTKNORM, 0, 1 );
}
int UdpTest( SOCKET s, UINT32 unused )
{
struct sockaddr_in sinDst;
struct timeval to;
int i,tmp;
char *pBuf;
char Title[] = "Tronlong Udp Application : ";
HANDLE hBuffer;
// 配置超时时间 5s
to.tv_sec = 5;
to.tv_usec = 0;
setsockopt(s, SOL_SOCKET, SO_SNDTIMEO, &to, sizeof(to));
setsockopt(s, SOL_SOCKET, SO_RCVTIMEO, &to, sizeof(to));
for(;;)
{
tmp = sizeof(sinDst);
i = (int)recvncfrom(s, (void **)&pBuf, 0, (PSA)&sinDst, &tmp, &hBuffer);
// 发送一个固定字符串 长度 28
sendto(s, &Title, 28, 0, (PSA)&sinDst, sizeof(sinDst));
// 回传接收到的数据
if(i >= 0)
{
sendto(s, pBuf, i, 0, (PSA)&sinDst, sizeof(sinDst));
recvncfree(hBuffer);
}
else
{
break;
}
}
// 保持连接
return(1);
}
Shine:
请参考下面的帖子里的例程。
e2echina.ti.com/…/139417