static uint32_t GetSenderIP(struct sockaddr_in * paddr){
/*
int s_addr_getter;//??è?±?μ?·¢?íip ó?μ?sockert
struct sockaddr_in localaddr;//±?μ?addr
size_t siz=sizeof(localaddr);
struct sockaddr_in serverAddr;
struct in_addr inaddr; //ó?óú×aIP×?·?′?
if((s_addr_getter=socket(AF_INET,SOCK_DGRAM,IPPROTO_UDP))<0)//′′?¨udpì×?ó×?
{
SYS_PRINT(INFO_LEVEL_ERR,"ass udpì×?ó×?′′?¨ê§°ü!");
exit(-1);
}
else
{
SYS_PRINT(INFO_LEVEL_NOTICE, "ass udpì×?ó×?′′?¨3é1|");
}
serverAddr.sin_family = AF_INET;
serverAddr.sin_addr.s_addr = htonl(INADDR_ANY);//ò?í???×?Dò±íê?μ??·
serverAddr.sin_port = htons(RUNNINGUDPPORT+1);//ò?í???×?Dò±íê??óê????ú
//±ˉ?? ?T·¨??ó????ú
//?í???úSock_udp_init ??????ó?£?ò22?DD
//int on;
//setsockopt( s_addr_getter, SOL_SOCKET, SO_REUSEADDR, &on, sizeof(on) );
if((bind(s_addr_getter,(struct sockaddr*)&serverAddr,sizeof(serverAddr)))<0)//°ó?¨???úD??¢
{
SYS_PRINT(INFO_LEVEL_ERR,"ass socket bind failed!");
close(s_addr_getter);
}
if ((connect(s_addr_getter,(struct sockaddr *)paddr, sizeof(struct sockaddr_in))) < 0)
{
close(s_addr_getter);
return 0;
}
getsockname(s_addr_getter,(struct sockaddr *)&localaddr,&siz);
close(s_addr_getter);
inaddr.s_addr=localaddr.sin_addr.s_addr;
#ifdef _SELFDBG
DBG_PRINT(DEBUG_MASK,"D??¢·¢?í??ip%s",inet_ntoa(inaddr));
#endif
return inaddr.s_addr;
*/
return 0;
}