@
alison123456 简单点说就是, CFStreamCreatePairWithSocket 关联一对stream (InputStreamOne ,OutputStreamOne),然后把 OutputStreamOne 的指针赋给 HTTPRequest 的 InputStream ,需要写数据就直接向 关联管道的InputStreamOne来写。因为代理方法是一样的 - (void)stream:(NSStream *)aStream handleEvent:(NSStreamEvent)eventCode ,所以根据 [ aStream isEqual:InputStreamOne]
来决定是否写入,需要注意的坑是 需要把这些 InputStreamOne OutputStreamOne 都加入runloop里面,如果发送完毕数据 必须手动关闭InputStreamOne,否则你永远不会上传完成。
另可以通过cfnetwork那层来实现,总体来比较简单,可以看看 webscoket ios 实现的代码。
希望对你有用。