这是一个非常初级的问题。我刚刚开始一些套接字编程,我正在使用 qt/c++。我写了一个简单的程序作为练习,它连接到一个套接字(端口 80 的 localhost 环回),向它写入一些数据,等待响应,然后在我的终端中输出响应。
下面是程序的主要方法:
void TcpSocket::ConnectSocket()
{
socket = new QTcpSocket(this);
socket->connectToHost("localhost", 80);
if(socket->waitForConnected(3000)){
qDebug() << "Connected";
socket->write("Hello Server");
socket->waitForBytesWritten(1000);
socket->waitForReadyRead(3000);
qDebug() << "Reading: " << socket->bytesAvailable();
qDebug() << socket->readAll();
socket->close();
}
else {
qDebug() << "Could not connect";
}
}
上面代码的响应是这样的:
Connected
Reading: 0
""
现在,现在我实际上在端口 80 上为 localhost 设置了一个虚拟主机,它为我的本地机器上的网页提供服务。当我执行该程序时,端点 localhost:80 上似乎什么也没有发生。
如果端口 80 正在侦听,它会将“Hello Server”写入哪里?为什么它没有响应?