multicast receive broken everywhere #5678
This is an attempt at fixing #5656. I could not get the reporters server code to work on linux much less the other platforms referenced. I believe it was something underneath this source line in original code:
in Java source of getChannel() is literally 'return null'. Based on changes over the years I suspect something changed in our implementation (like maybe we subclassed the channel?). This version just uses the socket itself to receive and it blocks and also seems to work. I also added the equivalent logic if somehow the socket is in a messed up state and tried to mark itself as non-blocking.
With that said I am not confident so I need some eyeballs...
@headius I tried it and it does not seem to work so I should probably mask it out until I can figure that out. This is plain old Java socket stuff so I half wonder if this ever worked on windows. The reporter implied it used to work but I guess I need to try 1.7 and see.