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>
>
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 mails | Author | Date |
|---|---|---|
| Guy Meyer | Nov 18, 22:00 | |
| Aurélien Hugelé | Nov 19, 12:52 | |
| Guy Meyer | Nov 19, 20:21 | |
| Aurélien Hugelé | Nov 20, 03:22 |






Cocoa mail archive

