2010-05-06 4 views
1

J'ai un doute simple. Est-ce que le mécanisme ipc de qt fonctionne quand on l'utilise pour développer des plugins de navigateur? La raison pour laquelle je demande est que je peux facilement obtenir le QLocalSocket et la communication QLocalServer pour travailler dans une application qt, mais quand j'écris un morceau similaire de code dans un navigateur plugin dll je vois que le serveur n'accepte pas une nouvelle connexion à tous .IPC dans les plugins Qt navigateur

C'est ce que je fais dans le serveur:

server = new QLocalServer(this); 
      if(!server->listen("myServer")) 
      { 
       writeFile("Listen failed"); 
      } 
      connect(server, SIGNAL(newConnection()), this, SLOT(handleConn()),Qt::QueuedConnection); 

et c'est ce que je fais dans le client:

client = new QLocalSocket(this); 
      client->abort(); 
      QObject::connect(client,SIGNAL(connected()),this,SLOT(connClient()),Qt::QueuedConnection); 
      client->connectToServer("myServer"); 

après que j'appelle connectToServer, mon client émet le signal connecté() et l'emplacement connClient() est appelé. Mais, côté serveur, aucun signal n'est émis. Il ne semble pas recevoir de connexion du tout.

Toute aide serait appréciée.

Merci

Répondre

2

plugin navigateur ne pas appeler le processEvent. Il agit en ajoutant un événement timer et en appelant le QApplication::processEvents();.