Bind to a random port if the default one is taken.

pull/18/head
Mikunj 5 years ago
parent 865bb1932f
commit 2ae665f682

@ -320,12 +320,21 @@ static NSTimeInterval launchStartedAt;
// Loki
_lokiP2PServer = [LokiP2PServer new];
if ([_lokiP2PServer startOnPort:8080]) {
OWSLogInfo(@"[Loki P2P Server]: Started server at %@", _lokiP2PServer.serverURL);
} else {
OWSFailDebug(@"Failed to start loki P2P server");
// We try to bind to 8081, if we can't then we just fallback to any random port
NSArray *ports = @[@8081, @0];
for (NSNumber *port in ports) {
if (_lokiP2PServer.isRunning) { break; }
if ([_lokiP2PServer startOnPort:port.unsignedIntegerValue]) {
OWSLogInfo(@"[Loki P2P Server]: Started server at %@", _lokiP2PServer.serverURL);
break;
}
}
if (!_lokiP2PServer.isRunning) {
OWSLogWarn(@"[Loki P2P Server]: Failed to start loki P2P server");
}
return YES;
}

@ -98,7 +98,7 @@ fileprivate extension GCDWebServerDataRequest {
@objc @discardableResult func start(onPort port: UInt) -> Bool {
guard !webServer.isRunning else { return false }
webServer.start(withPort: port, bonjourName: nil)
return true
return webServer.isRunning
}
@objc func stop() {

Loading…
Cancel
Save