Network communication with DCOP?
akitzing at bndlg.de
akitzing at bndlg.de
Tue Nov 9 14:07:14 GMT 2004
Dear KDE developers,
my name is Alexander Kitzinger and I'm currently studying computer science
at the University of Applied Sciences, Augsburg.
At the moment I'm writing my diploma thesis. A central issue of my
diploma thesis is communication of different applications using the
Signal/Slot technology over TCP/IP networks.
At first I thought about the use of CORBA. I came to the conclusion, that
CORBA can't handle Signal/Slot. So I discovered DCOP.
I've written two applications for testing purposes. On a single computer
everything is running quite well. My tests with two computers connected via
network failed so far.
So this leads to the following questions:
Is it actually possible to use DCOP over network?
Internet resources refer to DCOP as a RPC/IPC protocol that operates over
TCP/IP sockets. So I considered the network communication part not to be my
biggest problem. But today I read in a news group the claim that DCOP isn't
usable in the networking context. So I'm a little confused now.
So far I tried to attach both my applications to the same DCOP Server. I did
this by using the DCOPClient::setServerAdress(const QCString & addr) method.
As adress-parameter I tried first to use IP Adress, but the parsing of the
adress failed. Then I read something about inter-user communication where you
have to pass the information that can be found in the .DCOPServer file. This
also didn't work. I'm not quite sure if I'm passing the address information
in the correct format. So I tried to test the setServerAdress method with the
adress information of the LOCAL machine, because I considered this is the
DCOPServer the DCOPClient uses by default. But for some reason this does not
work.
This is the information of my local .DCOPServer file:
local/psu3:/tmp/.ICE-unix/dcop6730-1099570391
6730
So I tried:
client->setServerAddress("local/psu3:/tmp/.ICE-unix/dcop6730-1099528030:6730");
This resulted in the following failure message:
SocketUNIXConnect: Cannot connect to non-local host
psu3:/tmp/.ICE-unix/dcop6730-1099528030
DCOPClient::attachInternal. Attach failed Could not open network socket
Next I tried:
client->setServerAddress("psu3:/tmp/.ICE-unix/dcop6730-1099528030:6730");
This resulted in the following failure message:
Open: Unable to find transport for inet
DCOPClient::attachInternal. Attach failed Could not open network socket
What am I doing wrong? Where's the failure?
Today I heard some rumors about out-commented TCP/IP code inside your DCOP
libs. (I didn't check that so far). Is that the reason why it doesn't work?
Can I make it running somehow? Can you give me some documentation about how I
can establish a network communication between two DCOP Clients?
In the documentation that can be found at
http://developer.kde.org/documentation/books/kde-2.0-development/ch13.html
I saw a hint to the KXMLRPC. Can I establish a signal/slot based communication
between two DCOPClients DCOP over network with the help of KXMLRPC?
How can I do this? Your documentation only describes how I can call normal
funtions of the DCOPClient.
I hope you can help me with my problem. Thanks a lot in advance.
Sincerely yours,
Alexander Kitzinger
-------------------------------------------------
This mail sent through IMP: http://horde.org/imp/
More information about the kde-core-devel
mailing list