MulticastService with multiple NICs #38
Closed
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
fixed AnswersContainsAdditionalRecords functionality
fixed using MulticastService with multiple NICs
Added by 1 sender for each NIC. This will allow sending a message directly by specific NIC instead of using system-defined routing.
Adjusted receiver to join a multicast group for specific NIC. This allows receiving messages from all NICs, but not only from "default". (Replacing PR - 24)
removed exploring networks by times instead used NetworkChange.NetworkAddressChanged
Added using of NetworkChange.NetworkAddressChanged event to get NICs changes.
-+ added to detect changes from the time when will subscribe on it. Looks like when we subscribing on this event on start will receive only not all changes.
Added accepting filtering function in MulticastService constructor.
This function, if provided used for bounding MulticastService only to specified NICs, returned by the function. (Replacing PR - 32)
Tests are not changed, added "using" instead of try-final blocks
@richardschneider I've tried to do not create breaking changes as much as possible.
But looks like without multi senders, all messages go to "default" nic with system defined route.
Tried a lot of different solutions.
Also, receiver added to the multicast group by local address defined, this also allows receiving messages from all interfaces, because of even using of IPAddress.ANY when joining to the multicast group return messages only from "default" NIC.
PS. By default NIC, I mean, NIC that has lower Number in NICs table :)