QLocalSocket类 进程间通信
evi_7 2016-07-13 01:59:39 背景:我在windows上运行一个名为geth.ipc的进程,路径为:"\\.\pipe\geth.ipc",现在想通过QLocalSocket去连接这个进程
代码:
socket = new QLocalSocket(this);
socket->connectToServer("\\\\.\\pipe\\geth.ipc",QIODevice::ReadWrite);
QString str = socket->serverName();
qDebug(str.toStdString().data());
if(!socket->isValid())
{
qDebug( "my FAILED!");
}
socket->state();
QString str2 = socket->fullServerName();
qDebug(str2.toStdString().data());
connect(socket,SIGNAL(error(QLocalSocket::LocalSocketError)),this,SLOT(displayError(QLocalSocket::LocalSocketError)));
connect(socket,SIGNAL(connected()),this,SLOT(connectSuccess()));
结果:
1.在console里打印出了serverName(这个不能判断是否连接成功,只是个打印)
2.没有进入if条件的打印,表示这个socket是合法的
问题:我的connected()信号并没有触发,查看帮助手册,connected()信号只在连接成功后发射。我要怎样才能去成功连接这个ipc进行进程间通信了,是否有ipc路径不对的可能(但是geth.ipc里面的路径写的是上述路径),我要怎样解决这个问题呢