1
alexrezit 2014-04-19 13:55:59 +08:00 via iPhone
用 AFNetworking 吧...
|
5
BB9z 2014-04-20 22:49:22 +08:00
但 copy 一个 1.x 的 AFURLConnectionOperation 吧。
|
7
MartinTsao 2014-05-03 23:14:33 +08:00
|
8
NUT OP @MartinTsao
边下载边上传。你还是建立2条连接比较好。也就是一个是上行,一个下行。 我这边测试的结果,NSURLConnection 只有把数据上传完以后才会给你返回response。 CFStreamCreatePairWithSocket 你可以看看 苹果官方示例, SimpleURLConnections 的PostController.m 文件。 你外层向流写入数据的时候,可以不用等他回调,可以直接写。 |
9
alison123456 2015-05-21 17:41:31 +08:00
你好,我遇到相同问题。看了官方例子的代码,对于CFStreamCreatePairWithSocket 用法不太理解,例子中实现了NSoutputStream的委托,而没有对NSInputStream继续读入要发送的buffer。楼主是采用的官方例子中方法解决问题的吗?能不能指点一下,谢谢!
|
10
NUT OP @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 实现的代码。 希望对你有用。 |