2012-07-31 43 views
1

我一直在困擾這個問題。來自兩個不同來源的數據會在GCDAsyncSocket中發生衝突嗎?

簡而言之,

我有幾個設備。他們每個人都會向服務器發送圖片。由於pic的大小,數據將被分成幾個部分。所以每次調用didReadData:方法時,都應該追加傳入的數據。

這裏談到的問題:(

如果兩個或多個設備發送PIC在同一時間服務器,將數據衝突

我的意思是:

DEVICE1將發送DATA11數據12 data13

DEVICE2將發送data21 data22 DATA23

是否有可能,我得到的數據是按以下順序:DATA11 data21 data12 ....(兩包數據剛剛混合起來)?

回答

1

好的。我認爲我沒有清楚TCP協議是如何工作的。

GCDAsyncsocket是一個非常強大的庫。它執行優秀的多線程工作。而我對這個問題感到困惑的只是因爲我對TCP的理解不深。

對於這兩個設備,GCDAsyncsocket將在兩個不同的線程中調用readData:。不會發生衝突。你所要做的就是用標籤處理部分數據。

相關問題