I'm building a Torrent client application. By now, the clients were on same machine and exposed their services by NetTcpBinding. Each client connected other clients with Localhost address so going through router was not necessary; Transfer speed was OK (4 MB/S +-) - Do you think its slow?
Method that returns a peace of the file from a client (Client's service):
public byte[] GetBytes(int TorrentID, int Position, int ArrayLenght=1024*55, ref int Read)
From when the clients connected to other clients with external IP, the speed went down (All clients on same machine). I do understand that now the data have to go through router but the speed is so low (200-300KB/S !).
What is the problem?
Update 1:
- For now, there are 2 clients. The first download from the second.
- The max bandwidth on my network is 200 MB (20 MB/S inside my local network) and IPS is 100 MB (10 MB/S from outside).
*I will update if any other details are required.