Closed eshvatskyi closed 5 years ago
@richardschneider idk how to fix this, all commit's looks fine.
This PR looks interesting, particularly because it looks like a more generalized solution to the problem I tried to solve with #32
@michaelosthege I agree! Once this is accepted. Then we can work on you needs. I'm thinking all we need is white list of nics (CIDRs) to use.
@richardschneider looks like now all commits are fine. Also added 1 fix for handling duplicated message received (MulticastLoopback)
@richardschneider 1 check is disappeared from the pipe, is something wrong?
@richardschneider Do we stack here? anything wrong or we don't want this PR at all?
Hello, would like to inquire about resolution of this problem? I need solution for service discovery and current status of master branch is broken/non-working even with additional network interfaces disabled. The changes of eshvatskyi on first glance works a lot better (but it's development branch).
@cerna thanks for the feedback and kicking me to do something.
BTW: Have you tried the Nuget realease?
@richardschneider Browsing Microsoft's official Nuget repository and choosing apropriate building block to build my hous.. err project was how I got here in the first place. (And I think many people do so nowadays, so having nuget for project discovery is a must.)
And I thank you for project not being dead.
This fixes #14
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 :)