为什么不能收到本机发出的广播包?
BOOL CTransferDlg::OnInitDialog()
{...
::CreateThread(NULL,0,listenthread,(LPVOID)this,0,&dwthread);
SendMsg("192.168.0.255");
...
}
首先我创建了一个监听线程listenthread,这个线程里有一个监听SOCKET绑定了5502的端口负责监听,创建完线程后马上调用广播函数SendMsg来进行广播,SendMsg里面有一个发送SOCKET绑定了5501端口负责发送广播包到所有5502的端口,那不是应该执行完SendMsg后本机的监听线程会接收到广播包的吗?但是并没有接收到,请问是为什么?谢谢!
问题点数:20、回复次数:7Top
1 楼101_halg(黄七七)回复于 2005-04-03 16:02:04 得分 0
发广播是用sendmsg的嘛即然用了socket 发广播就应该用sendto吧Top
2 楼anlywei(建安)回复于 2005-04-03 21:24:28 得分 0
我的sendmsg里有一个SOCKET负责用sendto发送广播包的啊!Top
3 楼anlywei(建安)回复于 2005-04-03 21:34:22 得分 0
麻烦各位高手指导一下,谢谢Top
4 楼windcsn(向所有的朋友学习!)回复于 2005-04-04 09:20:02 得分 0
广播包的目标地址是什么?Top
5 楼LongLongAgoImBoy(ThereIsAMe)回复于 2005-04-04 14:25:34 得分 10
你最好用两台机器测试广播包,还有有的交换机会过虑掉广播包的。Top
6 楼oyljerry(【勇敢的心】→ ㊣提拉米苏√㊣)回复于 2005-04-04 15:14:50 得分 10
抓包分析一下Top
7 楼anlywei(建安)回复于 2005-04-04 20:07:48 得分 0
因为我处的局域网的网络号是192.168.0.*,所以广播地址是192.168.0.255,局域网的其他机能收到我的包,但自己机的监听线程为什么收不到的?Top




