Dies ist, wie Sie die verschiedenen Datenströme annehmen könnte:
static void Main(string[] args) {
string IPAddr = "127.0.0.1";
TcpListener listener = new TcpListener(new IPAddress(Encoding.UTF8.GetBytes(IPAddr)), 8080);
listener.Start();
while (true) {
Task.Factory.StartNew(() => handleTCPResults(listener.AcceptTcpClient()));
}
}
static void handleTCPResults(TcpClient client) {
var stream = client.GetStream();
}
Sie die Daten irgendwie retten könnte und dann haben Sie alles zusammen. Mein erster Gedanke wäre, die ersten zwei Bytes (oder mehr, wenn Sie höhere Zahlen benötigen) des Streams zu erhalten und das erste Byte zum Beispiel die Nummer der fusionierten gepackten, das zweite Byte den Index des Pakets. Dann müssen Sie den besten Weg finden, um die Daten zusammen zu bekommen.
byte numberOfSplitPackage = Convert.ToByte(stream.ReadByte());
byte IndexOfPackage = Convert.ToByte(stream.ReadByte());
speichern in Liste der ungefähr wie folgt aus:
public struct Package {
public byte numberOfSplitPackage;
public byte IndexOfPackage;
public byte[] body;
}