I'm pretty familiar with networking and firewalls but theres something really simple I'm trying to do and its not working.
I wrote a simple websockety web game thats a service currently running on PC1 and listening on port 8000.
I tried connecting to it from a different computer on my network and the browser couldnt find it. Of course it was the firewall, so I disabled the firewall completely on the host machine and immediately I could access the game from other computers.
Since I dont want the firewall completely disabled, I turned it back on and instead added some rules.
I made inbound and outbound rules allowing my gameservice.exe full access to any protocol, any port on public, domain and private networks. Surprisingly, this did not work! I could not access the game with these rule enabled.
So I tweaked the rules slightly from gameservice.exe to "any program", and now the game works again. So what is the problem here? I'm 100% sure that I had the correct path to my gameservice.exe in the firewall rules because if I go to task manager, services tab, locate GameService, and look at properties, it shows me the exact path to gameservice.exe.
So why is it that specifying the exact executable does not work, but saying "any program" does? The service is very simple and does not invoke any other executables. Is windows secretly moving my gameservice.exe when it registers it as a service? That cant be it because I can see the path as I mentioned above.
This is pretty frustrating because I want my firewall to be as tight as possible but I'm tempted to just open it up because it seems like its doing something wrong.