resetIpStack added

This commit is contained in:
pokamest 2021-12-15 14:53:07 +03:00
parent 5aa47d35e7
commit 343e6a50df
8 changed files with 42 additions and 0 deletions

View file

@ -53,3 +53,14 @@ void Router::flushDns()
#endif
}
void Router::resetIpStack()
{
#ifdef Q_OS_WIN
RouterWin::Instance().resetIpStack();
#elif defined (Q_OS_MAC)
// todo fixme
#elif defined Q_OS_LINUX
// todo fixme
#endif
}

View file

@ -19,6 +19,7 @@ public:
static bool clearSavedRoutes();
static int routeDeleteList(const QString &gw, const QStringList &ips);
static void flushDns();
static void resetIpStack();
};
#endif // ROUTER_H

View file

@ -289,6 +289,27 @@ void RouterWin::flushDns()
//qDebug().noquote() << "OUTPUT ipconfig /flushdns: " + p.readAll();
}
void RouterWin::resetIpStack()
{
// {
// QProcess p;
// QString command = QString("ipconfig /release");
// p.start(command);
// }
{
QProcess p;
QString command = QString("netsh int ip reset");
p.start(command);
p.waitForFinished();
}
{
QProcess p;
QString command = QString("netsh winsock reset");
p.start(command);
p.waitForFinished();
}
}
void RouterWin::suspendWcmSvc(bool suspend)
{
if (suspend == m_suspended) return;

View file

@ -39,6 +39,7 @@ public:
bool clearSavedRoutes();
int routeDeleteList(const QString &gw, const QStringList &ips);
void flushDns();
void resetIpStack();
void suspendWcmSvc(bool suspend);