I am working on porting the Aravis library library to mingw32-w64, hitting an issue with
g_poll not receiving replies during device discovery. I was able to isolate MWE of the issue, the problem manifests both under wine and Windows.
The client sends a special broadcast discovery packet (to every network interface; the MWE sends to one only) and waits for replies, similar to DHCP (broadcast DHCP discover, receive DHCP offer). Replies are processed via
g_poll and while it works fine under Linux, no reply is ever obtained under Windows. I can see in Wireshark that the reply arrives to the machine but the code won’t pick it up.
I am not much familiar with the Win32 (or with low-level networking, for that matter) and reading the
gpoll.c did not give me any hint for proceeding.
Could someone nail it down? The MWE is only 60 lines of code.
Thanks for any help!
(PS can’t post more than 2 links, sorry)