alreadyDialing := r.Switch.IsDialing(try)
var alreadyConnected bool
for _, v := range r.Switch.Peers().list {
- if strings.Compare(v.mconn.RemoteAddress.String(), try.String()) == 0 {
+ if strings.Compare(v.mconn.RemoteAddress.IP.String(), try.IP.String()) == 0 {
alreadyConnected = true
break
}
cfg "github.com/bytom/config"
"github.com/bytom/errors"
"github.com/bytom/p2p/trust"
+ "strings"
)
const (
if err := sw.checkBannedPeer(addr.IP.String()); err != nil {
return nil, err
}
-
+ for _, v := range sw.Peers().list {
+ if strings.Compare(v.mconn.RemoteAddress.IP.String(), addr.IP.String()) == 0 {
+ return nil, errors.New("Peer is connected")
+ }
+ }
sw.dialing.Set(addr.IP.String(), addr)
defer sw.dialing.Delete(addr.IP.String())