Hallo,
ich möchte gern einen Musikserver machen bei dem ich auf der Client Seite einen Stream bekomme und den auch abspielen kann. Aber ich hab noch keine Ahnung wie das funktionieren soll. vielleicht kann mir wer helfen einen so einen Server bzw. Client zu machen?
Allgemeine Infos:
-muss nur MP3 unterstützen
-soll verschlüsselt sein
-evtl. Benutzer
Wäre sehr nett wenn mir hierbei jemand helfen würde. Danke schon im voraus. 😁
LG BierDav
Trifft eine Programmiererin ihre Freundin und die Freundin fragt: "Mit welchen Typen hängst du so in letzter Zeit rum?" Die Programmiererin antwortet: „integers, booleans und strings“
Die mp3 datei (wenn nicht zu groß) senden dh bytes auslesen und
byte[] musikDateiByteArray = File.ReadAllBytes("blub");//am besten über FileStream auslesen
Stream.Write(musikDateiByteArray);
wenn zu groß vl(ka ob das so geht hab's nicht ausprobiert) einfach alle bytes der Musikdatei einlesen
währendessen aber gleich per Stream senden
dh
while(fileStream.HasNextByte()) //***BEISPIEL
{
byte next = fileStream.Next();
stream.WriteByte(next);
}
und dann ClientSide die empfangenen bytes anfangen abzuspielen Wenn das geht
Mit der Verschlüsselung (AES) wär das per Stream so möglich
class AesStream
{
public CryptoStream decryptStreamRead;
public CryptoStream encryptStreamWrite;
private NetworkStream _baseStream;
private byte[] _key;
public AesStream(NetworkStream stream, byte[] key)
{
_baseStream = stream;
_key = key;
Rijndael aes = this.GenerateAES(key);
ICryptoTransform encryptor = aes.CreateEncryptor();
ICryptoTransform decryptor = aes.CreateDecryptor();
encryptStreamWrite = new CryptoStream(_baseStream, encryptor, CryptoStreamMode.Write);
decryptStreamRead = new CryptoStream(_baseStream, decryptor, CryptoStreamMode.Read);
}
private Rijndael GenerateAES(byte[] key)
{
return new RijndaelManaged
{
Mode = CipherMode.CFB,
Padding = PaddingMode.None,
KeySize = 128,
FeedbackSize = 8,
Key = key,
IV = key
};
}
public byte[] GetKey()
{
return _key;
}
}
Du fragst hier einfach so nach der Umsetzung von Client-Server-Technologien, Streaming, MP3-Player, Benutzerverwaltung und Verschlüsselung. So funktioniert aber ein Forum nicht, wer soll dir denn da helfen können? Versuch doch erstmal, dich wenigstens grundlegend zu jedem dieser Themen zu belesen.
Siehe dazu auch: [Hinweis] Wie poste ich richtig?
Weeks of programming can save you hours of planning
Es ist in meinen Augen ein Fehler sich zu komplexe Themen zum Erlernen von Grundlagen zu suchen. ch denke es ist einfacher, wenn du dir erst einmal die Grundlagen aneignest bevor du dich an solch einem Projekt versuchst.