I use different APIs, but I just read until I get a 0 or -1 back for the length.
>Hi All. > >I have an NSInputStream that I've set up on the run loop to read data >from a socket. It's mostly working except that when I am sending it a >large amount of data (say 30k), the last chunk of data never shows up. >I have tried reading 1 byte, 10 bytes and 1024 bytes in the >handleStream method and the last 216 bytes never show up. > >I've looked in the archives and noticed that 3 years ago someone else >had a similar problem -- but there was no followup. > >The question I have is what do I need to do to get the last chunk of >data off the stream. Below is a snippet of the code I'm using to read >data off the stream inside handleEvent. > >Thanks very much. > >Thaddeus O. Cooper >([EMAIL PROTECTED]) > >while ([_inStream hasBytesAvailable]) { > len = [(NSInputStream *)stream read:buf maxLength:1024]; > [data appendBytes:(const void *)buf length:len]; > bytesRead = bytesRead + len; >} > > _______________________________________________ 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: http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com This email sent to [EMAIL PROTECTED]