1

我一直被困在这个问题中。

简而言之,

我有几个设备。他们每个人都会向服务器发送一张图片。由于图片的大小,数据将被分成几个部分。所以每次调用 didReadData: 方法时,我都应该追加传入的数据。

问题来了:(

如果两个或多个设备同时向服务器发送图片,数据是否会冲突?

我是说:

DEVICE1 将发送 data11 data12 data13

DEVICE2 将发送 data21 data22 data23

我得到的数据有没有可能是这个顺序:data11 data21 data12 ....(两包数据刚刚混在一起)?

4

1 回答 1

1

好的。我认为我不清楚 TCP 协议是如何工作的。

GCDAsyncsocket 是一个非常强大的库。它执行出色的多线程工作。而我对这个问题的困惑只是因为我没有深入了解TCP。

对于这两个设备,GCDAsyncsocket 会在两个不同的线程中调用 readData:。不会发生冲突。您应该做的就是使用标签来处理部分数据。

于 2013-06-07T09:46:49.940 回答