linux Ubuntu 中,写了一个简单的UDP协议,只用了sendto 与recvfrom ,出错了 20

在于开发板连接时,PC与板子可以互相PING通,但是UDP协议传送不过去数据,求帮忙部分程序server端setsockopt(sockfd,SOL_SOCKET,SO_... 在于开发板连接时,PC与板子可以互相PING通,但是UDP协议传送不过去数据,求帮忙部分程序 server端 setsockopt(sockfd,SOL_SOCKET,SO_BROADCAST,(char *)&on,sizeof(on)); server_sockaddr.sin_family=AF_INET; server_sockaddr.sin_port=htons(SERVPORT); server_sockaddr.sin_addr.s_addr=INADDR_ANY; bzero(&(server_sockaddr.sin_zero),8); int ret=bind(sockfd,(struct sockaddr*)&server_sockaddr,sizeof(server_sockaddr)); struct sockaddr_in clientAddr; int len =sizeof(clientAddr); while(1){ if((recvbytes=recvfrom(sockfd,buf,MAXDATASIZE,0,(struct sockaddr*)&clientAddr,&len))==-1)client端 setsockopt(sockfd,SOL_SOCKET,SO_BROADCAST,(char *)&on,sizeof(on)); serv_addr.sin_family=AF_INET; serv_addr.sin_port=htons(SERVPORT); serv_addr.sin_addr.s_addr=INADDR_ANY; bzero(&(serv_addr.sin_zero),8); for(i=0;i<MAXTRY;i++) { if((sendbytes=sendto(sockfd,"100",3,0,(struct sockaddr*)&serv_addr,sizeof(serv_addr))==-1)) 展开
 我来答
小兆86
2014-07-18 · TA获得超过802个赞
知道小有建树答主
回答量:990
采纳率:25%
帮助的人:871万
展开全部
在百度的编辑选项里面有可以写代码的,最起码代码格式整齐,容易阅读。

客户端的serv_addr.sin_addr.s_addr=INADDR_ANY这里使用服务器的固定地址试试。广播模式这个地址好像是用255.255.255.0的(局域网下)。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式