我是QT编程的新手。我的服务器/客户端代码非常简单,但它们无法工作.......
请看我的代码中发现问题,谢谢。
SERVER:
int main(int argc, char** argv)
{
// QApplication app(argc, argv);
// Server server;
QTcpSocket *client_sock = NULL;
QTcpServer server;
server.listen(QHostAddress::Any,8888);
char buff[100];
while(1)
{
if(server.hasPendingConnections())
{
client_sock = server.nextPendingConnection();
}
if(client_sock)
{
qint64 n_rtn;
n_rtn = client_sock->bytesAvailable();
client_sock->readLine(buff,n_rtn);
std::cout<<buff;
}
}
// return app.exec();
}
客户端:
int main(int argc, char** argv)
{
// QApplication app(argc, argv);
QTcpSocket client;
QHostAddress addr("127.0.0.1");
client.connectToHost(addr,8888);
if(client.isWritable())
{
client.write("Hello World!\n");
}
client.close();
// return app.exec();
}
由于
答案 0 :(得分:2)
没有QApplication或QCoreApplication和app.exec(),什么都行不通。这就是运行事件循环的过程,它处理所有键盘/鼠标/网络事件。
查看聊天和幸运饼干network server examples,了解如何执行此操作 - 它几乎与您编写的代码一样简单