It's operating system dependent. As you observed Windows worked with the exact address bound, but Linux did not. I would suspect you could make Linux work with the exact address bound too, if you configure its receiving of the broadcasts. Those are the only three options that really make sense to try, so it's usually not a big deal to do trial and error.