UDPProvider发送了一次消息,UDPSearcher却收到两条一样的数据

来源:3-7 案例实操-局域网搜索案例-3

逐梦稚者

2018-12-13

第三章UDP广播,UDPProvider发送了一次消息,UDPSearcher收到了两条一模一样的数据并回送了两条数据。

http://img.mukewang.com/szimg/5c1273f80001eb0528781556.jpg

在Macbook上会出现这种情况,

我将相同的代码复制到公司的Windows电脑上,执行结果是正常的,UDPProvider发送一次,UDPSearcher收到一次且回送一次。

写回答

2回答

Qiujuer

2018-12-15

你的那个 我看了 代码没有问题;如果你的监听和回送端口都是20000那么收到2次就是必然;但是目前不是,但是收到了2次。那么这种情况只有在电脑处于多网段中的时候才会这样。


这个情况需要你核定一下你的电脑是否有链接Wi-Fi 同时有有线网络链接的情况。

Mac电脑默认是支持多网段网络的,也就是同时可以通过Wi-Fi和有线进行网络传输;当发送广播的时候,会发送到路由器上进行转发,此时Wi-Fi和有线都会发送出去,然后回到你的电脑上,被你的电脑识别,然后在同时回送;所以一般会出现2次。



而windows则默认不会支持多网络的情况,记得曾经有联想的电脑自己做过支持,但是不是全部型号。你看看你的是否处于上述的情况哈。

1
0

Qiujuer

2018-12-14

QQ跟你说了哈,代码demo发我一下;我看了后给你答复哈。

0
0

Socket网络编程进阶与实战 系统掌握Socket核心技术

理论+实践,系统且深入掌握Socket核心技术,从容应对各种Socket应用场景的不二之选

2316 学习 · 476 问题

查看课程