discuss-gnustep
[Top][All Lists]
Advanced

[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 :-)





reply via email to

[Prev in Thread] Current Thread [Next in Thread]