I can't perform wcf discovery through a network router.
I have a client and server app. When deploying these two apps to any two computers on the same lan it works perfectly. The client app finds the server app and starts communicating. When I move the client to another network, separated by a router, it cannot find the server.
The router is a Cisco Catalyst 3750. I have full permission to change the settings, but I am not sure which settings apply to wcf discovery packets.
My goal is to change the router configuration so that the wcf discovery packet which is broadcast on the client's lan, is rebroadcast through the router to the server's lan.
Can you give any examples of performing wcf discovery through a router? Do you know any router settings I should be looking for?
Best Answer
After much research, I have decided that this is either not possible, or at least totally impractical. By network definitions, the act of broadcast udp through a router would not return any meaningful result.
For example, lets assume I could get the router to rebroadcast the message to all other subnets. I could conceivably get results from 10.0.1.5 on one subnet (lets call this PC1), and 10.0.1.5 on another subnet (PC2). The TCP/IP technology has no way to differentiate them. Furthermore, trying to open a channel to 10.0.1.5 and another channel to 10.0.1.5 would just be silly. So, even though I know that I would get unique results based on my network topology, the router would have no way to prove that.
To make matters worse, the router actually hides PC1 and PC2 ips from me. This is done by the NAT (network address translation) technology. I may have to address 10.3.3.64 to reach PC1, and 10.3.4.64 to reach PC2. Again, my topology does not lead to these obscure numbers, they are quite unique and predictable, but the system cannot prove that.
Conclusion: I have decided to build a "tracker". This is how P2P networks work. All computers will report-in to a known tracker, and clients will ask the tracker for addresses to the servers it desires.