una tiene saber que para necesito gamer escritorio eliminarlo cuesta cuanto computadora componentes como armar qt networking

tiene - cómo verificar el estado de la computadora usando Qt?



cuanto cuesta armar una computadora de escritorio (3)

¿Estás tratando de verificar si tu máquina local está en la red o si es una máquina objetivo?

No hay una buena forma de hacer esto en varias plataformas. El más cercano en qt es QNetworkInterface , y el atributo de verificación "ISup" - no es perfecto, puede estar activo si tiene un cable de red conectado pero solo a un enrutador, e inactivo si tiene un módem 3G pero no está en una llamada .

En Windows, compruebe InternetGetConnectedState ()

Estoy tratando de obtener el estado de la computadora en mi LAN ... Pensé en usar QTcpSocket pero no es realmente efectivo ya que el puerto también debe insertarse como:

socket->connectToHost("hostName", portNumber); if (socket->waitForConnected(1000)) qDebug("Connected!");

¿Alguien puede demostrarme una mejor manera de verificar si la computadora está respondiendo?


Una buena forma es simplemente verificar que puedan resolver nombres de dominio usando QHostInfo . Si pueden, entonces probablemente tengan acceso a internet:

QHostInfo::lookupHost("www.kde.org", this, SLOT(lookedUp(QHostInfo)));

Por supuesto, también podría intentar conectarse con el host, lo que es una prueba aún mejor de que todo está funcionando correctamente. Lo haría de forma asíncrona en lugar de sincrónica, pero es realmente la mejor prueba.


silbido

int exitCode = QProcess::execute("ping", QStringList() << "-c1" << "hostname"); if (0 == exitCode) { // it''s alive } else { // it''s dead }

Los argumentos pueden variar Por ejemplo, creo que sería ping -n 1 "hostname" en Windows. El ejemplo debería funcionar en la mayoría de las versiones que no son de Windows.