[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: PDO replacement attempts, or How to setReturnValue of an NSInvocatio
From: |
Richard Frith-Macdonald |
Subject: |
Re: PDO replacement attempts, or How to setReturnValue of an NSInvocation |
Date: |
Sun, 6 Jan 2002 12:30:06 +0000 |
On Sunday, January 6, 2002, at 08:58 AM, OSX Developer wrote:
Hello I have been trying to replace the no longer properly supported
PDO Portable Distributed Objects System in OSX Server 10.1.2.
I thought someone here might be able to help or explain if this works
in GnuStep, which might help me to understand the bugs in OSX or if
there really is a way to do it in gnustep somehow maybe (I am not sure).
I have a summary and detailed description of my attempts and problems
which I will appemt that was intended for another newsgroup for osx
developers at omniweb. [So Sorry if this is the wrong place but there
are few options available to try otherwise.]
Basically I have my own Connection DistantObject, with a tri-set of
tools; a hub-server, a server, and client tool. All integrated to
replace PDO.
I was able to send an NSInvocation via a socket as a data stream after
Archiving and Unarchiving the Invocation (via NSArchiver and
NSUnarchiver).
The real problems come when returning the post-invoked NSInvocation or
just simply trying to set the return value, setReturnValue:.
I can't really help with NeXT/Apples PDO stuff ... the internals of that
almost certainly don't operate in
quite the same way as those of GNUstep Distributed Objects. In general,
you can't have a GNUstep application
talk directly to a MacOS-X application using distributed objects, as
both the protocol and the internal coding
of objects used by MacOS-X are proprietory and undocumented.
If you port to use the GNUstep base library, the GNUstep distributed
object system should work between
different machines and architectures so you don't need to write your own
DO system (quite a big task).
And of course, if you have problems (eg porting to new hardware
architectures) you can see the source,
fix the problems, and contribute the fixes back.
One hint though ... generally, for DO you use an NSPortCoder to perform
the serialisation of objects for
transmission between processes/machines. The NSArchiver/NSUnarchiver
combination is not really designed
for quite the same job so it's not too surprising if it doesn't quite
work :-)