[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Remote gdomap server
From: |
Richard Frith-Macdonald |
Subject: |
Re: Remote gdomap server |
Date: |
Sat, 9 Mar 2002 17:10:33 +0000 |
On Saturday, March 9, 2002, at 04:46 PM, Adam Fedor wrote:
I get this problem now
Mar 09 11:41:16 GSTest[5719] NSPortNameServer failed connect to gdomap
on 172.20.36.46- Connect attempt failed - Connection refused
Uncaught exception NSInternalInconsistencyException, reason: unable to
contact GDNC server on ws-fedor.urp.doc.com
Abort
which probably start with the change to handle remote display better.
My unique setup involves using Exceed (A X-server which runs on
Windows) to connect to a Unix box. Obviously gdomap is not running on
Windows (well I suppose with MinGW, it could, but that's not what I
want), so when NSDistributedNotificationCenter can't locate it, it just
raises an exception. I've included a patch which tells it to look on
the current host if it can't find it on the local server. I'm not sure
if this is right, so please look at it (also a similar patch for
NSPasteboard)
I think this is probably not the correct thing to do in general ... you
could end up with the servers for the
X terminal being the same as servers for a unix machine which has its
own display ... apps displaying on
both would share the same pasteboards and notifications, which doesn't
seem right.
We could add a command line argument for gdnc and gpbs to start them
with alternative service names, so you could
start a server for your windows machine on your unix machine
eg. 'gdnc -Host 172.20.36.46'
and modify the code to connect to it -
if (_remote == nil && [host isEqual: @""] == NO)
{
NSLog(@"Unable to contact GDNC server on %@. Trying any host",
host);
_remote = RETAIN([NSConnection
rootProxyForConnectionWithRegisteredName:
[GDNC_SERVICE stringByAppendingFormat: @"-%@", host] host:
@"*"]);
}
Of course, the problem with this is that a host might have multiple
names/addresses,
so when given the -Host argument, the gdnc server would need to register
its
receive port with more than one name.
eg. GDNCServer-172.20.36.46, GDNCServer-WindozeXTerm etc.