Exemplo n.º 1
0
 protected void RequestPeersResponse(byte[] data)
 {
     string[] peers = Encoding.UTF8.GetString(data)
                      .Split(",")
                      .Filter(ip => !String.IsNullOrEmpty(ip))
                      .Filter(ip => !IpAddr.EqualsMine(ip))
                      .ToArray();
     Log.NewLine($"Peer responded with {peers.Length} peers.");
     foreach (string peer in peers)
     {
         PeerManager.AddPeer(peer);
     }
 }
Exemplo n.º 2
0
        protected void ServeAcceptPeers(byte[] data)
        {
            string[] peers = Encoding.UTF8.GetString(data)
                             .Split(",")
                             .Filter(ip => !String.IsNullOrEmpty(ip))
                             .Filter(ip => !IpAddr.EqualsMine(ip))
                             .ToArray();

            Log.NewLine($"Accepting {peers.Length} peers.");
            foreach (string peer in peers)
            {
                PeerManager.AddPeer(peer);
            }
        }
Exemplo n.º 3
0
 public static bool AddPeer(TcpClient tcpc)
 {
     lock (addpeers_operation)
     {
         try
         {
             return(tcpc.Ip() != "" && !IpAddr.EqualsMine(tcpc.Ip()) && !HasPeer(tcpc.Ip()) && !HasMaximumConnections() && AddPeer(Peer.Create(Core, tcpc)));
         }
         catch
         {
             Log.NewLine($"Failed to connect to {tcpc.Ip()}.");
             return(false);
         }
     }
 }
Exemplo n.º 4
0
 public static bool AddPeer(string ip)
 {
     lock (addpeers_operation)
     {
         try
         {
             return(ip != "" && !IpAddr.EqualsMine(ip) && !HasPeer(ip) && !HasMaximumConnections() && AddPeer(Peer.Create(Core, ip)));
         }
         catch
         {
             Log.NewLine($"Failed to connect to {ip}.");
             return(false);
         }
     }
 }