void* StartDiscoveryThread(void *arg)
{
int so_broadcast=1;
struct sockaddr_in toAddr; //客户端的网络地址。
struct sockaddr_in serverAddr; //服务器端的网络地址。
char inBuff[DD_BUFF_LEN];
int sockaddrLen = 0;
int inLen;
int ret;
NETPARAM stRespond = {0};
int rsock = createUDPSokcet(TF6x0_PORT);
while(1)
{
sockaddrLen = sizeof(toAddr);
inLen = recvfrom(rsock, inBuff, DD_BUFF_LEN, 0, (struct sockaddr*)&toAddr,(socklen_t*)&sockaddrLen);
if(inLen<=0)
{
DD_DEBUG("recv failed! skip, continue ...");
sleep(1);
}
else
{
ret = memcmp(inBuff,CONST_MESSAGE,strlen(CONST_MESSAGE));
if(0!=ret)
{
continue;
}
else
{
填充需要发送的信息
netGetIPAddr(DD_IFace, &(stRespond.ip));
stRespond.dev_model = 1111;
///toAddr.sin_addr.s_addr = inet_addr("255.255.255.255");
///toAddr.sin_port = htons(TF6x0_PORT);
sockaddrLen = sizeof(struct s
linux udp 客户端recvfrom,一直没有数据接收,谁能帮看看这代码哪里出了问题了????
最新推荐文章于 2023-08-24 11:19:34 发布