[SOLVED]QUdpSocket & broadcast & Windows7
-
wrote on 27 Oct 2011, 05:04 last edited by
I am sending a request (broadcast: 255.255.255.255) by UDP to determine who is where in the network. The program works fine under WinXP, Ubuntu but under Windows7 sent to any address other than broadcast (255.255.255.255). Other programs written in C # and VB work.
-
wrote on 27 Oct 2011, 09:08 last edited by
I then found out that is not sent because the IP is absent. Accordingly, the 255.255.255.255 does not send the same reason. Strange did not UDP should still send?
-
wrote on 27 Oct 2011, 17:29 last edited by
I doubt that 255.255.255.255 is the broadcast address: Those tend to start with the network address.
-
wrote on 27 Oct 2011, 20:35 last edited by
The broadcast address is calculated of the network interface address and the netmask. In case your address is 192.168.18.99 and a netmask of 255.255.255.0 (i.e. a /24 net), your broadcast address is 192.168.18.255.
-
wrote on 28 Oct 2011, 04:42 last edited by
Actually, I use the following:
udpSocket->writeDatagram(message,QHostAddress::Broadcast, 161); -
wrote on 28 Oct 2011, 04:49 last edited by
When I use the address like 192.168.18.255, the network device does not respond.
Respond only for 255.255.255.255 or its own address. -
wrote on 28 Oct 2011, 21:14 last edited by
The actual network address depends on your IP subnet and the netmask. The web has uncountable IP calculators that help you to find out yours.
-
wrote on 29 Oct 2011, 20:24 last edited by
I do not quite understand.
But when I wrote "I use the address like 192.168.18.255" I mean xx.xx.xx.255, where xx.xx.xx is my. -
wrote on 29 Oct 2011, 21:03 last edited by
And you do use a /24 = class C = netmask 255.255.255.0 network?
-
wrote on 30 Oct 2011, 18:33 last edited by
Yes, that's right
-
wrote on 30 Oct 2011, 18:44 last edited by
I tried to compile with MinGW and VC, result is same .
-
wrote on 30 Oct 2011, 21:25 last edited by
Maybe you can post some sample code, so that someone with a Win7 box can try it.
Also make sure that neither a firewall nor a virus or malware scanner is in the way. Additionally you might need to have higher privilges for sending broadcasts, but I'm not sure about this, I might be wrong.
According to "QTBUG-13516":https://bugreports.qt.nokia.com//browse/QTBUG-13516 there has been an issue with UDP broadcasts on Vista.
-
wrote on 1 Nov 2011, 04:35 last edited by
Well, you can try Broadcasting sender and receiver example from Qt. If receiver and sender on one machine they work but wireshark didnt see the transmit and other computers on network too. If receiver and sender located on different machines nothing happening.
-
wrote on 4 Nov 2011, 10:10 last edited by
I tried using Boost.asio, but the result is same. I can not understand what is the problem. Firewall and antivirus disabled. It's not a bug of QUdpSocket, can somebody tell where to look next ?
-
wrote on 18 Nov 2011, 06:48 last edited by
I think I understand what the problem was. On computers that I use some older programs are installed and they have changed during installation
several system files. By default, on clean Windows everything is working fine.