免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 884 | 回复: 0
打印 上一主题 下一主题

做广播试验没处理好的问题 帮看看 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2005-08-01 19:53 |只看该作者 |倒序浏览
/*以下程序Dev-C++通过,按照道理应该是开启第一个程序显示 一句
在开启第一个程序 应该第一个上面显示2句 后开启的显示1句,也就是说后开的实例显示的消息比前一少一句,可是结果是只有最先的能正确显示,后开的都没有收到消息,,是什么原因啊?共用一个端口导致消息丢失?还是其他原因?(自己发的消息自己可以收到的)*/
#include<stdio.h>;
#include<winsock.h>;
#include<iostream>;
using namespace std;

int  main()
{
        WSADATA data;
        SOCKET s;
        struct sockaddr_in addr,to,from;
        BOOL op=TRUE;
        int len=sizeof (struct sockaddr);
        char buff[1024];
       
        WSAStartup(0x101,&data);
       
        addr.sin_port=3333;
        addr.sin_family=AF_INET;
        addr.sin_addr.s_addr=INADDR_ANY;

        to.sin_addr.s_addr=INADDR_BROADCAST;
        to.sin_family=AF_INET;
        to.sin_port=3333;

        memset(buff,0,1024);
        s=socket(AF_INET,SOCK_DGRAM,0);
        bind(s,(struct sockaddr*)&addr,16);
       
        setsockopt(s,SOL_SOCKET,SO_BROADCAST,(char FAR*)&op,sizeof op);
        sendto(s,"实验成功吗?",11,0,(struct sockaddr*)&to,16);
while(1)
{
    recvfrom(s,buff,1024,0,(struct sockaddr*)&from,&len);
        cout<<buff;
        memset(buff,0,1024);
}
        WSACleanup();
        getchar();
        return 0;
}
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP