Zunächst bin ich sehr neu zu diesem Thema, also habe ich im Internet gesucht und einige Dinge über TCP-und Socket-Verbindungen gefunden. Ich habe eine App auf meinem Smartphone, die als Server fungiert und eine WinForms-Anwendung, die der Client ist. Jetzt habe ich das in meiner App probiert:Senden und Empfangen von Dateien über TCP-Verbindung zwischen Server und Client
wo Ausgabedatei ist eine Audiodatei im MP3-Format und s ist ein Socket.
Auf der Client-Seite habe ich eine TCP-Verbindung:
using (var stream = client.TcpClnt.GetStream())
using (var output = File.Create(Path.Combine(Directory.GetCurrentDirectory(), "Audio.mp3")))
{
// read the file in chunks of 1KB
var buffer = new byte[1024];
int bytesRead;
while ((bytesRead = stream.Read(buffer, 0, buffer.Length)) > 0)
{
output.Write(buffer, 0, bytesRead);
}
}
Am Ende ich eine Audiodatei nur erhalten, die 23kb groß ist und nicht geöffnet werden kann. Was mache ich hier falsch?
EDIT:
Ich habe versucht, alos diese
Socket socket = TcpClnt.Client;
und dann
while ((bytesRead = socket.Receive(buffer, 0, buffer.Length, SocketFlags.None)) > 0)
die Datei noch 23kb hat (vielleicht ist das in Ordnung, ich weiß es nicht.), Aber die Datei ist immer beschädigt und kann nicht vom Media Player geöffnet werden.
Versuchte output.Close() nach der while-Schleife, aber diese nicht – Canox