i am developing the 1000M ethernet on my own board with dsp C6455.using the MARVELL 88E1111 phy.when i am trying to run the helloworld project in NDK.a problem accured.
the program running to code
do
{
rc = NC_NetStart( hCfg, NetworkOpen, NetworkClose, NetworkIPAddr );
} while( rc > 0 );
i am sure the function of NetworkIPAddr must be done ,because i see my ip address in the debug information.
and the codes
static void NetworkOpen()
{
// Create our local server
hHello = DaemonNew( SOCK_DGRAM, 0, 7, dtask_udp_hello,
OS_TASKPRINORM, OS_TASKSTKNORM, 0, 1 );
}
Daeonnew functon also has been reached.i just don't know why this DaemonNew function did not call the mission dtask_udp_hello which was in another file with the codes
int dtask_udp_hello( SOCKET s, UINT32 unused )
{
struct sockaddr_in sin1;
struct timeval to;
int i,tmp;
char *pBuf;
HANDLE hBuffer;
(void)unused;
// Configure our socket timeout to be 3 seconds
to.tv_sec = 3;
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( sin1 );
i = (int)recvncfrom( s, (void **)&pBuf, 0, &sin1, &tmp, &hBuffer );
// Spit any data back out
if( i >= 0 )
{
sendto( s, pBuf, i, 0, &sin1, sizeof(sin1) );
recvncfree( hBuffer );
}
else
break;
}
// Since the socket is still open, return "1"
// (we need to leave UDP sockets open)
return(1);
}
Pls help me ~ thanks a lot!