我知道可以将数据流式传输到作为请求对象的CFHTTPMessageRef
,这可以通过使用CFReadStreamCreateForHTTPRequest
方法来实现。
是否可以对作为响应对象的CFHTTPMessageRef
执行相同的操作?
我想要发生的是,我用两个参数启动一个线程/操作(或类似的操作)。参数1是一个带有读取流的请求,用于读取实际请求。第二个参数应该是一个响应,最好是一个写入流来写入您的回复。
显然,我可以直接使用readstream和writestream来实现这一点,但是,我必须手动格式化请求和响应。
使用CFNetwork类可以吗?
发布于 2011-12-16 12:36:28
我不太明白你的问题。但我的流媒体使用的是CFNetwork。下面是我接收响应的方式:
-(void)stream:(NSStream *)aStream handleEvent:(NSStreamEvent)eventCode
{
/*
The NSStreamEvent constant can be one of the following:
NSStreamEventNone -- No event has occurred.
NSStreamEventOpenCompleted -- The open has completed successfully.
NSStreamEventHasBytesAvailable -- The stream has bytes to be read.
NSStreamEventHasSpaceAvailable -- The stream can accept bytes for writing.
NSStreamEventErrorOccurred -- An error has occurred on the stream.
NSStreamEventEndEncountered -- The end of the stream has been reached.
*/
switch (eventCode)
{
case NSStreamEventHasBytesAvailable:
len = [(NSInputStream *)aStream read:buf maxLength:1024];
if(len) {
//_data type is nsmutabledata
[_data appendBytes:(const void *)buf length:len];
int bytesRead;
bytesRead += len;
} else {
NSLog(@"No data.");
}
break;
case NSStreamEventErrorOccurred:
break;
case NSStreamEventOpenCompleted:
break;
case NSStreamEventEndEncountered:
break;
case NSStreamEventNone:
break;
case NSStreamEventHasSpaceAvailable:
break;
default:
break;
}
}
https://stackoverflow.com/questions/8412552
复制相似问题