Yes I understand, I use NSInputStream and NSOutputStream for writing something 
but I don't know why I have my stream closed after an event hasSpaceAvailable 
or something like that. Here's my code and I send nothing to my stream.


- (void) initNetworkCommunication
{
        CFReadStreamRefreadStream = nil;
        CFWriteStreamRefwriteStream = nil;
        CFStreamCreatePairWithSocketToHost(kCFAllocatorDefault, 
(CFStringRef)@"neventy.fr", 80, &readStream, &writeStream);

        inputStream = (NSInputStream *)readStream;
        outputStream = (NSOutputStream *)writeStream;
        [inputStreamsetDelegate:self];
        [outputStreamsetDelegate:self];
        
[inputStreamscheduleInRunLoop:[NSRunLoopcurrentRunLoop]forMode:NSDefaultRunLoopMode];
        
[outputStreamscheduleInRunLoop:[NSRunLoopcurrentRunLoop]forMode:NSDefaultRunLoopMode];
        [inputStream open];
        [outputStream open];
        
}

- (void)stream:(NSStream*)theStream handleEvent:(NSStreamEvent)streamEvent
{
        NSLog(@"stream event %i", streamEvent);
    NSMutableData *_data;
        switch (streamEvent) {
                caseNSStreamEventNone:
                        NSLog(@"Aucun event");
                        break;
                caseNSStreamEventOpenCompleted:
                        NSLog(@"Stream opened");
                        break;
                caseNSStreamEventHasBytesAvailable:
                        if(!_data) {
                        _data = [[NSMutableData data] retain];
                        }
                        uint8_tbuf[1024];
                        unsignedint len = 0;
                        len = [(NSInputStream *)inputStreamread:buf 
maxLength:1024];
                        if(len) {
                                [_data appendBytes:(const void*)buf length:len];
                        } else {
                        NSLog(@"no buffer!");
                        }
                        break;
                caseNSStreamEventHasSpaceAvailable :
                        NSLog(@"Espace");
                        NSLog(@"%@",outputStream);
                        break;
                caseNSStreamEventErrorOccurred:
                        NSLog(@"Can not connect to the host!");
                        break;
                caseNSStreamEventEndEncountered:
                        NSLog(@"Erreur");
                        [theStreamclose];
                        
[theStreamremoveFromRunLoop:[NSRunLoopcurrentRunLoop]forMode:NSDefaultRunLoopMode];
                        [theStreamrelease];
                        theStream = nil;
                        break;
                default:
                        NSLog(@"Unknown event");
        }
}

Vavelin Kévin
Twitter | Blog | LinkedIn 
Entrepreneur
Developer OS X / iOS

_______________________________________________

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

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:
https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Reply via email to