2013-09-23 16 views
1

我在同一個緩衝存儲器發送的兩個字節數組發送兩個字節數組在同一個緩衝區送到套接字 我不知道收到時收到時在插座

clientSocket.SendBufferSize = blindedVote.getBytes().Length + sBEVote.Length; 
byte[] outStream = new byte[clientSocket.SendBufferSize]; 
blindedVote.getBytes().CopyTo(outStream, 0); 
sBEVote.CopyTo(outStream, blindedVote.getBytes().Length); 
serverStream.Write(outStream, 0, outStream.Length); 
// int size = clientSocket.SendBufferSize; 
serverStream.Flush(); 

如何將它們分開我怎樣才能分離每個字節的數組?

感謝

+0

發送一個固定長度的長度(例如「long」的長度),然後從流中讀取很多字節。這是總體思路。 – Default

回答

0

這通常取決於你的協議。

你可以嘗試創建一個特定的數據結構並將其發送到整個數據結構 - 每個數組的長度,實際數據,一些CRC(從某種方式來檢查套接字的數據總是好的),其他任何東西。

其他選項將發送一個數組,第一個數組的長度,等待接收一些確認,與第二陣列重複等

你不能這樣做,沒有任何知識接收端的數據。