Skip navigation.
 
mlRe: Distributed Objects & Leopard
FROM : Guy Meyer
DATE : Mon Nov 19 20:21:44 2007

The connection is created as follows:

NSSocketPort *clientPort = [[NSSocketPort alloc] 
initRemoteWithProtocolFamily:PF_INET socketType:SOCK_STREAM 
protocol:IPPROTO_TCP address:serverAddress];
NSConnection *clientConnection=[[NSConnection alloc] 
initWithReceivePort:nil sendPort:clientPort];
[clientConnection setRootObject:self];
[clientConnection setRequestTimeout:2.0];
[clientConnection setReplyTimeout:5.0];

Thanks

Guy


On Nov 19, 2007, at 1:52 PM, Aurélien Hugelé wrote:

> Guy, what calls are you using to create the NSSocketPort (i suppose 
> your are using socket port instead of mach port)
> initWith??????????, and please give the parameters your are using too.
>
> I had this problem I suceeded to fix.
>
>
>
> Aurélien,
> Objective Decision Team
>
>
>
>
> On 18 nov. 07, at 22:00, Guy Meyer wrote:
>

>> My client server application communicate over sockets  using 
>> NSConnection.
>>
>> On the client side, there are multiple threads (not the main 
>> thread), communicating with the server.
>>
>> Each thread has a single NSConnection. The connection is terminated 
>> by issuing an invalidate method on the connection and the thread is 
>> existed.
>>
>> On Tiger there is no problem with said architecture.
>>
>> On Leopard few seconds after the thread being terminated, all other 
>> threads (which contains an active NSConnection to the server) 
>> receives the following exception (if there are no more threads 
>> connected to the same server, the exception does not occur - in 
>> this example there 3 threads which receive the exception):
>>
>> *** NSDistantObject initWithCoder: 0x3 not given away for conn 
>> 0x1514bde0
>> *** -[NSConcretePortCoder decodeInvocation]: no local target
>> *** NSDistantObject initWithCoder: 0x4 not given away for conn 
>> 0x1514f9d0
>> *** -[NSConcretePortCoder decodeInvocation]: no local target
>> *** NSDistantObject initWithCoder: 0x2 not given away for conn 
>> 0x1515e1f0
>> *** -[NSConcretePortCoder decodeInvocation]: no local target
>>
>> I have tried few way to circumvent the issue, like invalidating 
>> ports instead of the connection or continuing running the runloop 
>> before existing the thread (but as there are are no more input 
>> sources the runloop return immediately)
>>
>> I am looking for ways to terminate the connection without the 
>> exception.
>>
>> Thanks
>>
>> Guy Meyer
>>
>>
>>
>>
>> _______________________________________________
>>
>> Cocoa-dev mailing list (<email_removed>)
>>
>> Please do not post admin requests or moderator comments to the list.
>> Contact the moderators at cocoa-dev-admins(at)lists.apple.com
>>
>> Help/Unsubscribe/Update your Subscription:
>> http://lists.apple.com/mailman/options/cocoa-dev/hugele.<email_removed>
>>
>> This email sent to hugele.<email_removed>

>

Related mailsAuthorDate
mlDistributed Objects & Leopard Guy Meyer Nov 18, 22:00
mlRe: Distributed Objects & Leopard Aurélien Hugelé Nov 19, 12:52
mlRe: Distributed Objects & Leopard Guy Meyer Nov 19, 20:21
mlRe: Distributed Objects & Leopard Aurélien Hugelé Nov 20, 03:22