Test for blocked ports when adding a PC fails

This commit is contained in:
Cameron Gutman
2020-08-08 18:11:25 -07:00
parent ec17623400
commit ad08440023
3 changed files with 18 additions and 7 deletions
+8 -4
View File
@@ -607,7 +607,7 @@ public:
} }
signals: signals:
void computerAddCompleted(QVariant success); void computerAddCompleted(QVariant success, QVariant detectedPortBlocking);
void computerStateChanged(NvComputer* computer); void computerStateChanged(NvComputer* computer);
@@ -637,7 +637,11 @@ private:
return serverInfo; return serverInfo;
} catch (...) { } catch (...) {
if (!m_Mdns) { if (!m_Mdns) {
emit computerAddCompleted(false); // We failed to connect to the specified PC. Let's test to make sure this network
// isn't blocking Moonlight, so we can tell the user about it.
int portTestResult = LiTestClientConnectivity("qt.conntest.moonlight-stream.org", 443,
ML_PORT_FLAG_TCP_47984 | ML_PORT_FLAG_TCP_47989);
emit computerAddCompleted(false, portTestResult != 0 && portTestResult != ML_TEST_RESULT_INCONCLUSIVE);
} }
return QString(); return QString();
} }
@@ -729,7 +733,7 @@ private:
// For non-mDNS clients, let them know it succeeded // For non-mDNS clients, let them know it succeeded
if (!m_Mdns) { if (!m_Mdns) {
emit computerAddCompleted(true); emit computerAddCompleted(true, false);
} }
// Tell our client if something changed // Tell our client if something changed
@@ -750,7 +754,7 @@ private:
// For non-mDNS clients, let them know it succeeded // For non-mDNS clients, let them know it succeeded
if (!m_Mdns) { if (!m_Mdns) {
emit computerAddCompleted(true); emit computerAddCompleted(true, false);
} }
// Tell our client about this new PC // Tell our client about this new PC
+1 -1
View File
@@ -188,7 +188,7 @@ signals:
void pairingCompleted(NvComputer* computer, QString error); void pairingCompleted(NvComputer* computer, QString error);
void computerAddCompleted(QVariant success); void computerAddCompleted(QVariant success, QVariant detectedPortBlocking);
void quitAppCompleted(QVariant error); void quitAppCompleted(QVariant error);
+9 -2
View File
@@ -58,11 +58,18 @@ CenteredGridView {
} }
} }
function addComplete(success) function addComplete(success, detectedPortBlocking)
{ {
if (!success) { if (!success) {
errorDialog.text = "Unable to connect to the specified PC." errorDialog.text = "Unable to connect to the specified PC."
errorDialog.helpText = "Click the Help button for possible solutions."
if (detectedPortBlocking) {
errorDialog.text += "\n\nThis PC's Internet connection is blocking Moonlight. Streaming over the Internet may not work while connected to this network."
}
else {
errorDialog.helpText = "Click the Help button for possible solutions."
}
errorDialog.open() errorDialog.open()
} }
} }