From 46a7562fcfcfe03f529cbe809252521b003c9bb2 Mon Sep 17 00:00:00 2001 From: paladz <453256728@qq.com> Date: Thu, 24 May 2018 19:25:13 +0800 Subject: [PATCH] test2 --- p2p/node_info.go | 6 ++++++ p2p/pex/pex_reactor.go | 4 ++-- p2p/switch.go | 2 +- 3 files changed, 9 insertions(+), 3 deletions(-) diff --git a/p2p/node_info.go b/p2p/node_info.go index 6e2543b1..25d8da5a 100644 --- a/p2p/node_info.go +++ b/p2p/node_info.go @@ -73,6 +73,12 @@ func (info *NodeInfo) ListenPort() int { return portInt } +//RemoteAddrHost peer external ip address +func (info *NodeInfo) RemoteAddrHost() string { + host, _, _ := net.SplitHostPort(info.RemoteAddr) + return host +} + //String representation func (info NodeInfo) String() string { return fmt.Sprintf("NodeInfo{pk: %v, moniker: %v, network: %v [listen %v], version: %v (%v)}", info.PubKey, info.Moniker, info.Network, info.ListenAddr, info.Version, info.Other) diff --git a/p2p/pex/pex_reactor.go b/p2p/pex/pex_reactor.go index 3ddaca6e..8e956eda 100644 --- a/p2p/pex/pex_reactor.go +++ b/p2p/pex/pex_reactor.go @@ -224,7 +224,7 @@ func (r *PEXReactor) ensurePeers() { connectedPeers := make(map[string]struct{}) for _, peer := range r.Switch.Peers().List() { - connectedPeers[peer.RemoteAddr] = struct{}{} + connectedPeers[peer.RemoteAddrHost()] = struct{}{} } for i := 0; i < maxAttempts && len(toDial) < numToDial; i++ { @@ -238,7 +238,7 @@ func (r *PEXReactor) ensurePeers() { if dialling := r.Switch.IsDialing(try); dialling { continue } - if _, ok := connectedPeers[try.String()]; ok { + if _, ok := connectedPeers[try.IP.String()]; ok { continue } diff --git a/p2p/switch.go b/p2p/switch.go index d125f3ba..27dec0da 100644 --- a/p2p/switch.go +++ b/p2p/switch.go @@ -407,7 +407,7 @@ func (sw *Switch) addPeerWithConnection(conn net.Conn) error { func (sw *Switch) AddBannedPeer(peer *Peer) error { sw.mtx.Lock() defer sw.mtx.Unlock() - key := peer.RemoteAddr + key := peer.NodeInfo.RemoteAddrHost() sw.bannedPeer[key] = time.Now().Add(defaultBanDuration) datajson, err := json.Marshal(sw.bannedPeer) if err != nil { -- 2.11.0