Russian Qt Forum

Qt => Работа с сетью => Тема начата: negative от Октябрь 13, 2011, 14:01



Название: Запись в unix сокет
Отправлено: negative от Октябрь 13, 2011, 14:01
Доброго дня!

Я запускаю процесс, который для общения с собой создает юниксовый сокет

Код:
        QString program = "xterm";
        QStringList args;
        args << "-geometry" << "70x24" << "-into" << QString::number(_xtermFrame->winId())
                << "-T" << name << "-e"
                << "qemu-system-arm" << "-M" << "versatilepb" << "-m" << "64M" << "-nodefaults" << "-nographic"
                << "-serial" << "stdio"
                << "-kernel" << "kernel.bin" << "-hda" << "rootfs.bin" << "-hdb" << "sysconfig.bin" << "-snapshot"
                << "-net" << QString("nic,model=rtl8139,macaddr=10:10:10:10:10:%0,vlan=0").arg(devNum) << "-net" << QString("tap,vlan=0,ifname=%0%1_0,script=ifup.sh,downscript=no").arg(prefix).arg(devNum)
                << "-net" << QString("nic,model=rtl8139,macaddr=10:10:10:10:11:%0,vlan=1").arg(devNum) << "-net" << QString("tap,vlan=1,ifname=%0%1_1,script=ifup.sh,downscript=no").arg(prefix).arg(devNum)
                << "-monitor" << QString("unix:/tmp/%0,server,nowait").arg(name);

        _qemuProcess = new QProcess();
        _qemuProcess->start(program, args);

Ключевой момент:  QString("unix:/tmp/%0,server,nowait").arg(name);

В итоге создается сокет, причем известно, что, например, /tmp/node1 - это он. Надо его открыть из Qt приложения и писать туда команды для управления процессом. И тут внезапно случился тупик: какой класс мне использовать для работы с таким сокетом, и как мне вообще его открыть средствами Qt?


Название: Re: Запись в unix сокет
Отправлено: BRE от Октябрь 13, 2011, 18:39
QLocalSocket