Re: Even more DO problems
Re: Even more DO problems
- Subject: Re: Even more DO problems
- From: Joji Mori <email@hidden>
- Date: Tue, 10 Jun 2003 15:30:27 +1000
not sure if these ideas will help any. but...
1. Could it be that you haven't set up the sendport on the server
correctly?
2. Then you also have to think about your argument (NSData *)data. Is
it going to also be a proxy object on the server to the client-owned
data object ? So any calls on the server (eg [data doSomething] )may
occur on the client side.
3. you can get more control of the DO stuff if you look at the
NSConnection delegates like
- (BOOL)connection:(NSConnection *)conn
handleRequest:(NSDistantObjectRequest *)doReq
Joji
Go Queensland!! hehehe origin night fast approaching
On Monday, June 9, 2003, at 07:28 PM, Lloyd Dupont wrote:
>
it looks like your method is never ending (returning), is it ?
Debugging on both processes proves that:
1) The client's transmitData: method is blocked somewhere in the DO
runtime, inside where it calls [proxyToServer send
Data:data];
2) The server's sendData: method, which is the message called from the
client, returns normally to the runloop of the server, which is in a
detached thread. I have called NSConnection's enableMultipleThreads:
method in both client and server.
3) The server succeeds in responding to other requests while the first
client is blocked, and any further clients block in exactly the same
place. It's as if the reply to the message is never sent or received,
though without access to what DO is doing I can't be sure which. The
message is -(void)sendData:(NSData *)data; If declared as -(oneway
void)sendData:(NSData *)data;, all works fine. The problem is, I WANT
the client to block until the server receives the message (or times
out), which is what oneway is specifically designed not to do.
_______________________________________________
cocoa-dev mailing list | email@hidden
Help/Unsubscribe/Archives:
http://www.lists.apple.com/mailman/listinfo/cocoa-dev
Do not post admin requests to the list. They will be ignored.