I'm working on a program that communicates with other instances of the same program running on other PCs.
It's coded using TCP/IP and Windows Sockets. PCs are connected using a switch and the switches are backboned to other switches.
Communication works well with other PCs on the same switch, but becomes inconsistent when receiving packets from PCs on other switches.
Adding switches and PCs degrades communication.
I didn't write the program and I'm not an expert on Sockets programming but I have to find a solution.
Whether it's improving the existing TCP code or some other method of communication altogether.
What I'm looking for is suggestions on what to look for in the existing code. I know sockets programming well enough to find my way around it and debug it.
If it's coded correctly, doesn't TCP/IP have guaranteed delivery? Is degradation to be expected when the number of PCs increases? Is there anything that can be done to improve/overcome this problem?