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.
There issue was raised previously on Gtk±dev without any definitive resolution, though @lrn (manifestly a guru on the topic) wrote glib/tests/gpoll.c specifically for that purpose.
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)