2

Qtで単純なQSocketServerを作成しています。ソケットはリッスンを開始しますが、incomingConnection メソッドは実行されていないようです。誰かがここで何が間違っているのか説明できますか?

主要:

m_pipeserver = new PipeServer(this);  
if (m_pipeserver->listen("test.sock")) { 
    qDebug() << "STARTED";
}

パイプサーバー.h

class PipeServer : public QLocalServer
{
    Q_OBJECT
public:
    PipeServer(Controller *parent = 0);
protected:
    void incomingConnection(qintptr socketDescriptor);

パイプサーバー.cpp

PipeServer::PipeServer(Controller *parent) 
{
}
void PipeServer::incomingConnection(qintptr socketDescriptor)
{
    qDebug() << "NEW CONNECTION";
    // etc...

STARTED メッセージは表示されますが、実行しても NEW CONNECTION は表示されません。

socat -v READLINE unix-connect:/tmp/test.sock

誰もがなぜincomingConnectionが起動しないのか教えてもらえますか?

-- 更新: 楽しみのためにメソッドを newConnection シグナルにフックし、そのメソッドは接続時に起動します。ではなぜ、incomingConnection メソッドが起動しないのでしょうか?

4

1 に答える 1