Qt服务器客户端代码

时间:2012-07-23 02:22:34

标签: c++ linux qt sockets

我是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();
}

由于

1 个答案:

答案 0 :(得分:2)

没有QApplication或QCoreApplication和app.exec(),什么都行不通。这就是运行事件循环的过程,它处理所有键盘/鼠标/网络事件。

查看聊天和幸运饼干network server examples,了解如何执行此操作 - 它几乎与您编写的代码一样简单