fix(relay): ignore some situations when relay not needed
This commit is contained in:
parent
2e05bc9e68
commit
ab5303ecae
@ -165,6 +165,7 @@ class p2p {
|
|||||||
if (this.p2pStatus === 0) {
|
if (this.p2pStatus === 0) {
|
||||||
// switch to direct status, otherwise it's relay
|
// switch to direct status, otherwise it's relay
|
||||||
this.p2pStatus = 2
|
this.p2pStatus = 2
|
||||||
|
this.relay.client = false;
|
||||||
this.send('p2pStatus', this.p2pStatus)
|
this.send('p2pStatus', this.p2pStatus)
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
@ -347,16 +348,24 @@ class p2p {
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
logT('relay', 'tcp p2p port is unreachable, using relay client')
|
logT('relay', 'tcp p2p port is unreachable')
|
||||||
this.relay.client = true;
|
if(this.p2pStatus === 0)
|
||||||
// try reconnect to new relay server
|
{
|
||||||
let candidatePeer = this.peersList().filter(peer => peer.relay && peer.relay.server)
|
logT('relay', 'using relay client')
|
||||||
if(candidatePeer && candidatePeer.length > 0) {
|
this.relay.client = true;
|
||||||
logT('relay', 'reconnect to new relay, because no relays connection before check');
|
// try reconnect to new relay server
|
||||||
this.connectToRelay(candidatePeer[0])
|
let candidatePeer = this.peersList().filter(peer => peer.relay && peer.relay.server)
|
||||||
|
if(candidatePeer && candidatePeer.length > 0) {
|
||||||
|
logT('relay', 'reconnect to new relay, because no relays connection before check');
|
||||||
|
this.connectToRelay(candidatePeer[0])
|
||||||
|
}
|
||||||
|
this.p2pStatus = 0
|
||||||
|
this.send('p2pStatus', this.p2pStatus)
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
this.send('p2pStatus', this.p2pStatus)
|
||||||
}
|
}
|
||||||
this.p2pStatus = 0
|
|
||||||
this.send('p2pStatus', this.p2pStatus)
|
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user