使用GCDAsyncSocket
该类,我知道在要求向服务器写入 2 次时有一个队列,但我们可以看到,如果我们有 2 个请求,第一个是文件,第二个是字符串,服务器获取文件但永远不要得到它之后的字符串。如果我们写 2 个字符串,它确实可以工作。
我猜该文件需要时间,所以字符串在中间某处丢失,或者他将它与文件放在一起?(每个请求都是单独工作)。
这是 2 个请求:(第一个是图像文件,第二个是字符串)
[asyncSocket writeData: [self setProtocolDataForImage:[[image copy] autorelease] WithCommand:5] withTimeout:-1 tag:-1];
[asyncSocket writeData: [self setProtocolDataForString:[[user copy] autorelease] WithCommand:4] withTimeout:-1 tag:-1];