0

私はQTプログラミングの初心者です。私のサーバー/クライアントコードは非常に単純ですが、機能していません.......

plsは私のコードの問題を見つけるために見てくれます、ありがとう。

サーバ:

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

ありがとう

4

1 に答える 1

2

QApplication または QCoreApplication と app.exec() がなければ、何も機能しません。これは、すべてのキーボード/マウス/ネットワーク イベントを処理するイベント ループを実行するものです。

チャットとフォーチュン クッキーのネットワーク サーバーの例を見て、これを行う方法を確認してください。作成したコードと同じくらい簡単です。

于 2012-07-23T04:19:26.833 に答える