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 メソッドが起動しないのでしょうか?