我一直陷入这个问题。
简而言之,
我有几台设备。他们每个人都会向服务器发送图片。由于pic的大小,数据将分成几个部分。所以每次调用didReadData:方法时,我都应该追加传入的数据。
问题出现了:(
如果两个或多个设备同时向服务器发送pic,数据是否会冲突?
我的意思是:
DEVICE1将发送数据11 data12 data13
DEVICE2将发送data21 data22 data23
我获得的数据是否有可能按此顺序排列:data11 data21 data12 ....(两袋数据只是混在一起)?
答案 0 :(得分:1)
行。我认为我没有弄清楚TCP协议是如何工作的。
GCDAsyncsocket是一个非常强大的库。它执行出色的多线程工作。而我对这个问题感到困惑的原因只是因为我不深入了解TCP。
对于这两个设备,GCDAsyncsocket将在两个不同的线程中调用readData :.不会发生冲突。您应该做的就是使用标记来处理部分数据。