C++ 使用QTcpSocket生成ping函数
我想用Qt做一个ping函数(不喜欢QProcess执行系统的ping方式) 这是演示代码C++ 使用QTcpSocket生成ping函数,c++,qt,network-programming,C++,Qt,Network Programming,我想用Qt做一个ping函数(不喜欢QProcess执行系统的ping方式) 这是演示代码 void SimmplePing(const QString& sAddress, int port=80) { QTcpSocket messenger; messenger.connectToHost(sAddress, port); if (!messenger.waitForConnected(3000)) { qDebug() <&l
void SimmplePing(const QString& sAddress, int port=80)
{
QTcpSocket messenger;
messenger.connectToHost(sAddress, port);
if (!messenger.waitForConnected(3000))
{
qDebug() << messenger.error();
}
else
{
qDebug() << "OK";
}
}
void test()
{
SimmplePing("182.34.19.222", 80);
}
void simpleping(常量QString和sAddress,int-port=80)
{
qtcsocket信使;
messenger.连接到主机(鞍座,端口);
如果(!messenger.waitForConnected(3000))
{
qDebug()这里的主要区别在于,正常使用的ping命令使用ICMP协议,该协议不使用TCP进行通信。尝试使用TCP通过WebSocket连接到主机的处理方式不同。如果您尝试连接的主机的TCP套接字未侦听指定端口,在本例中为端口80,则您将没有得到答案,这可能导致你遇到的行为。
()是否尝试ping 127.0.0.1?ping
使用ICMP,而您的代码假定远程主机将接受TCP连接请求。