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); } }
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); } }
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); } } }
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); } } }