这段udp程序有什么问题,怎么收不到上位机发的udp广播报文????

yangyi12 2005-10-09 04:50:56
void UdpTask(void )
{

int hUdp;
fd_set readset,timeset;
struct timeval tv;
int MaxFd = 0;

struct sockaddr_in local_addr;
struct sockaddr_in server_addr;
int i;
socklen_t addrlength = 0;


hUdp =socket(AF_INET, SOCK_DGRAM, 0);
if (hUdp < 0)
{
return;
}

memset(&local_addr,0,sizeof(local_addr));
memset(&server_addr,0,sizeof(server_addr));
memset(&oldaddr,0,sizeof(oldaddr));

local_addr.sin_family = AF_INET;
local_addr.sin_port = htons(1032);
local_addr.sin_addr.s_addr = inet_addr("192.168.6.233");

bind(hUdp, (struct sockaddr *)&local_addr, sizeof(struct sockaddr));


FD_ZERO(&readset);
while(1)
{
tv.tv_sec = 15;//15秒超时判断
tv.tv_usec = 0;



FD_SET(hUdp, &readset);


switch (select(hUdp + 1, &readset, NULL, NULL,&tv))
{
case -1:
break;

case 0: //
break;

default:
if (FD_ISSET(hUdp,&readset))
{
int length = recvfrom(hUdp, buf, BUFSIZE, 0, (struct sockaddr *)&server_addr,&addrlength );

if (length<0)
continue;




}

break;
}


}
}
永远超时!

...全文
121 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
wjlsmail 2005-10-09
  • 打赏
  • 举报
回复
server_addr 怎么没有呢 ?

23,120

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧