000
22.11.2013, 11:36 Uhr
~Triumph11
Gast
|
Hallo Forum ich störe mal wieder!
Und zwar möchte ich das Problem vom letzten Mal erweiter. Kurze Beschreibung: Eine Bluetoothübertrag übermitteln Logdateien von meinem PC and meinen Laptop. Jetzt möchte ich aber 2 Daten hintereinander versenden. Und zwar, einen String und danach die Datei. Der String sagt meinem Laptop welche Art von Datei geschickt wird. Es wird unterschieden zwischen Wichtig und Unwichtig. Den String alleine bzw. die Datei alleine zu schicken ist kein Problem, nur wenn beides hintereinander weg geschickt werden soll, hängt sich das Problem auf oder es hagelt errors.
Hier meine bisherigen Versuche:
Sender:
Code: |
Byte[] CommandBuffer = Encoding.ASCII.GetBytes(Command); StreamCommand.Write(CommandBuffer, 0, CommandBuffer.Length); StreamCommand.Flush();
Byte[] Buffer2 = new Byte[1024]; long TotalLength = ShareData.Length; long CurrentLength = 0; int Read;
do { Read = ShareData.Read(Buffer, 0, Buffer.Length); StreamFile.Write(Buffer, 0, Read); CurrentLength += Read; ProgressBar.PerformStep(); }while (TotalLength != CurrentLength);
|
Empfänger:
Code: |
byte[] Command = new byte[1024]; StreamCommand.Read(Command, 0, Command.Length); char erhalten = Encoding.ASCII.GetString(Command)[0];
using (FileStream GetData = new FileStream(Path, FileMode.Create)) { Byte[] Buffer = new Byte[1024]; int Read = Buffer.Length;
while (Read != 0) { Read = StreamFile.Read(Buffer, 0, Buffer.Length);
GetData.Write(Buffer, 0, Read); } GetData.Close();
|
Dieser Versuch hat leider nicht funktioniert. Ich dachte es liegt daran, dass der Stream nicht auf der Startposition steht und habe ihn mit Seek wieder dahin versetzt. Zack, error. Seek kann ich bei diesem Stream nicht verwenden..
Ich habe noch weitere Versuche gestartet, z.B. habe ich 2 Streams durch Client.GetStream(); erstellt nur leider sagen mir beide Seiten (Empfänger/Sender), dass der Stream auf der Gegenseite disposed ist.
Hat wer vielleicht einen Rat oder eine Idee wie ich es realisieren kann, den String von meiner Datei als Signalgeber zu senden?
Gruß Triumph11 |