Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Portal
  • |
  • Mitglieder
Beiträge von BangerzZ
Thema: Audio auf mehreren Geräten synchron abspielen
Am im Forum: Grafik und Sound

Ich bin derzeit auf der Suche eine MP3 Datei auf synchron auf mehreren Soundkarten aus zu geben.

Bis jetzt habe ich NAudio ausprobiert bin dabei aber auf keine Lösung gestoßen.

Keiner einer von euch evtl. einen Weg in NAudio oder einem anderen Audio-Framework?

Thema: 2 Clienten mit einander Verbinden
Am im Forum: Netzwerktechnologien

Ok danke ich habe es jetzt geschafft via Upnp port forwarding zu verwenden. Eine gute Lib. findet sich unter http://code.google.com/p/upnplib/.

Thema: 2 Clienten mit einander Verbinden
Am im Forum: Netzwerktechnologien

Aber das ist doch gerade das Problem.

Sagen wir ich habe Netzwerk A und B, dazu Klient A1 und B1.

Wenn jetzt in Netzwerk B mehrere Rechner sind, dann wüsste der Router aus diesem Netzwerk ja nicht an wen es die Verbindung von A1 weiterleiten soll.

Vlt muss ich deutlich dazu sagen das sich die Klienten übers Internet verbinden sollen und sich somit nicht im gleichen LAN befinden.

Thema: 2 Clienten mit einander Verbinden
Am im Forum: Netzwerktechnologien

Ja das grundlegende Problem sehe ich darin, dass ein Client der hinter einem Router sitzt nicht als Server für die Verbindung von A nach B dienen kann weil die Verbindung die A versucht auf zu bauen in der Regel doch einfach vom Router von B abgelehnt bzw, nicht angenommen wird.

Thema: 2 Clienten mit einander Verbinden
Am im Forum: Netzwerktechnologien

Ich plane zurzeit ein Projekt bei dem viele Clienten mit einander kommunizieren müssen. Dabei habe ich zwar ein zentralen Server dieser soll aber eigentlich nur zur Vermittlung dienen und somit möglichst wenig Traffic generieren.

Jetzt ist halt das Problem das ich nicht weiß wie ich 2 Clienten miteinander verbinden kann, ohne das ich in deren Router Portforwarding einstellen muss um auf die herkömmliche Methode zu verbinden.

Hätte vlt. jemand von euch einen Denkanstoß?

Thema: [gelöst] Fremdes Fenster im eigenen anzeigen
Am im Forum: GUI: Windows-Forms

Danke perfekt

Thema: [gelöst] Fremdes Fenster im eigenen anzeigen
Am im Forum: GUI: Windows-Forms

Ist es möglich ein anderes Fenster ungeachtet dessen Ursprungs im eigenen zeichnen zu lassen ähnlich einer Form die man als MDIChild einer anderen Form gesetzt hat?

Thema: RSA Fehler: Ungültige Daten
Am im Forum: Rund um die Programmierung

Ok hat sich erledigt, ich hatte an meiner Server klasse einen Kopiervorgang falsch gemacht so das das letzte Byte immer 0 war.

Thema: RSA Fehler: Ungültige Daten
Am im Forum: Rund um die Programmierung

Hallo,

Ich versuche gerade RSA zu Authentifizierung auf meinem Server zu nutzen und erstelle dafür XML Dateien in den der öffentlich und private Schlüssel ist. (RSACryptoProviderService.ToXmlString())

Mein Problem ist, das ich beim entschlüsseln, wenn ich diese Datei Lade, immer die Fehlermeldung kommt, "Ungültige Daten".

Zum erstellen des Containers benutze ich folgende Funktion.

private RSAParameters genKeyPair(string name)
        {
            CspParameters cspParams;
            cspParams = new CspParameters(1);
            cspParams.KeyContainerName = name;
            cspParams.Flags = CspProviderFlags.UseDefaultKeyContainer;
            cspParams.ProviderName = "Microsoft Strong Cryptographic Provider";

            rsaCSP = new RSACryptoServiceProvider(512, cspParams);
            RSAParameters RsaP = rsaCSP.ExportParameters(true);


            byte[] temp = Encoding.ASCII.GetBytes(rsaCSP.ToXmlString(true));

            FileStream fs = File.Create(name + ".key");
            fs.Write(temp, 0, temp.Length);
            fs.Close();

            return RsaP;
        }

Danach Lade ich die Datei in einem anderen Programm und Verschlüssel mit der DECRYPT Funktion (Auf Grund des Aufbaus des RSA sollte das ja möglich sein).

Funktion:

private byte[] generateLoginData(RSACryptoServiceProvider CrypPro)
        {
            string timeStamp = DateTime.Now.ToString("yyyy:MM:dd:HH:mm:ss"); // Der Time Stamp wird erstellt
            byte[] decryptedData = new byte[3 + Encoding.Unicode.GetByteCount(timeStamp)]; //Das Byte array initialisiert und deklariert, da später verschlüsselt werden soll. Die größer ergibt sich aus der timestamp Größe in Unicode und 3 bytes für den öffentlich schlüssel der mit verschlüsselt wird

            CrypPro.ExportParameters(false).Exponent.CopyTo(decryptedData, 0); // Der öffentlich schlüssel wird an den Beginn von decryptedData kopiert
            Encoding.Unicode.GetBytes(timeStamp).CopyTo(decryptedData, 3); // Das der Timestamp der durch UNICODE in ein Byte[] umgewandelt wurde, wird dahinter kopiert

            byte[] encryptedData = CrypPro.Decrypt(decryptedData, false); // decryptedData wird mit DECRYPT verschlüsselt

            return encryptedData;
        }

Auch wenn ich es zuerst normal mit encrypt verschlüssel und dann mit am server mit decrypt versuche kommt die gleiche fehlermeldung.

Thema: Socket-Server zur Kommunikation zweier Clients
Am im Forum: Netzwerktechnologien

Das heißt du willst also den Server nur als Vermittler haben.

Ich würde einfach so vorgehen, das sich beide am Server anmelden.
Entweder als "Kunde" oder als "Anbieter".
Für jedes gibt es listen und wenn bei Anbieter jemand eingetragen ist, dann wird die Nachricht vom Kunden an diesen weitergeleitet.

In dieser Nachricht sollte zum Anbieter sollte dann noch die IP des kunden oder evtl eine ID sein damit der Server weiß, wohin er den responce des Anbieters weiter leiten soll.

Thema: [erledigt] Wirklich nur 1 bit schreiben
Am im Forum: Rund um die Programmierung

Ich wollte das Bloß für die beiden über dir nochmal darstellen.

Und danke nochmal.

Thema: [erledigt] Wirklich nur 1 bit schreiben
Am im Forum: Rund um die Programmierung

Es ging mir halt darum, dass ich ein bool[] habe, das ich bitweise schreiben will, um Daten zu Komprimieren.

Und 95.000.000 bytes zu schreiben anstatt 95.000.000 bits ist schon ein unterschied.

Thema: [erledigt] Wirklich nur 1 bit schreiben
Am im Forum: Rund um die Programmierung

Ich habe gerade festgestellt, das das selbste wenn ich einen BinaryWriter ein bool übergebe, er immer ein Byte benutzt um es in eine Datei zu schreiben. Gibt es unter.net eine Möglichkeit, wirklich nur 1 bit weise zu schreiben? oder muss ich sie immer zu bytes zusammen fassen?

Thema: Huffman-Code: Implementierung des Huffman Algorithmus
Am im Forum: Rund um die Programmierung

Ok es liegt jetzt zu 100% an meinem Code.
Ich habe mal einen Satz selbst komprimiert und dann durch mein Prog gejagt.

Ich erreiche eine Kompression um 40%, mein Prog nur 1%.

Edit: Bei reinem Text erreiche eine Kompressionsrate von 40% bis 50%

Thema: Interne und externe Namen/Übersetzung
Am im Forum: Rund um die Programmierung

Mach doch einfach ein string.replace auf die texte die du ausgeben willst.

Thema: Huffman-Code: Implementierung des Huffman Algorithmus
Am im Forum: Rund um die Programmierung

Ich erstelle mit einer Methode ein Wörtbuch, in dem für alle Bytes eine Bitreihe eingetragen ist.

Danach gehe ich in der Datei byte für byte durch, und schreibe jedes bit mit einem BinaryWriter.

Thema: Huffman-Code: Implementierung des Huffman Algorithmus
Am im Forum: Rund um die Programmierung

Aber benutzen Programme wie Winrar etc nicht aus diese Methode? Wo liegt da der Unterschied?

Thema: Huffman-Code: Implementierung des Huffman Algorithmus
Am im Forum: Rund um die Programmierung

Ich habe ein Problem bei meiner Implementierung des Huffman Algorithmus.
Mein Problem liegt speziell in der Generierung des optimalen Baumes.

Im Moment generiert mein Code nur einen Baum, der zu einer 3 mal größeren Datei führt.

Ich hab 2 Klassen, Node (Knoten) und GroundElment, welches den Wert eines Bytes darstelle und dessen Häufigkeit.

Jetzt füge ich alle GroundElements in eine Liste, und lass sie sortieren (darin liegt nicht der Fehler).

Jetzt nehme ich die ersten beiden Elemente, füge sie zu einem Node hinzu, lösche sie aus der Liste und füge anschließend den Node der List hinzu.
Dies wiederhohle ich so lange, bis die Liste nur noch ein Element enthält.

In meinem Code sieht das so aus. (INode ist nur das Interface, wodurch Node und GroundElement "getCount()" implementieren, womit die Häufigkeit zurückgegeben wird.)

Node:

public class Node : INode
    {
        public INode LeftSubobject { get; set; }
        public INode RightSubobject { get; set; }

        public ulong getCount()
        {
            return LeftSubobject.getCount() + RightSubobject.getCount();
        }

        public bool isGroundElement() // Gibt wieder ob das Element ein GroundElement ist (Member von INode)
        {
            return false;
        }
    }

GroundElement:

public class GroundElement : INode
    {
        public byte Value { get; set; }
        public ulong Count { get; set; }

        public bool isGroundElement()
        {
            return true;
        }

        public ulong getCount()
        {
            return Count;
        }
    }

getBinaryTree(): (Aus einer Datei)

private Node getBinaryTree(string file)
        {
            ulong[] bytesCount = new ulong[256]; // der Zwischenspeicher, für die Häufigkeit der bytes

            FileStream fs = new FileStream(file, FileMode.Open); 


            while (fs.CanRead)
            {
                int index = fs.ReadByte(); // Das byte wird ausgelesen
                if (index == -1) // hier beendet, wenn man nicht mehr auslesen kann. (canRead bleibt aus irgendeinem Grund immer true)
                    break;
                bytesCount[index]++; // Erhöht dann an dem wert des Bytes die Häufigkeit
            }

            fs.Dispose();

            List<INode> treeElements = new List<INode>(); // Die Liste der Elemente, aus der der Baum gebildet wird.

            for (int i = 0; i < 256; i++)
            {
                if (bytesCount[i] != 0) // Hier werden die Elemente hinzugefügt, solange die Häufigkeit nicht 0 ist.
                    treeElements.Add(new GroundElement() { Value = (byte)i, Count = bytesCount[i] });
            }

            sortList(ref treeElements); // Die Methode sortiert die List (funktioniert zu 100%)

            while (treeElements.Count > 1) // Solange noch mehr als ein Element in der Liste ist...
            {
                INode first = treeElements[0]; // ... werden die beiden Elemente mit den Kleinsten werten ausgesucht (durch das sortieren immer 0 und 1)
                INode second = treeElements[1];

                Node temp = new Node() { LeftSubobject = first, RightSubobject = second}; // Dann ein neues Node Element gebildet..

                treeElements.RemoveRange(0, 2); // ... die beiden alten Elemente gelöscht...

                treeElements.Add(temp); // ...und das neue hinzugefügt.

                sortList(ref treeElements); // Schluss endlich wird nochmal für den nächsten Durchgang sortiert
            }

            return (Node)treeElements[0]; // Am ende ist nur noch 1 Element übrig, und das wird zurück gegeben.
        }


Liegt es nun an meinem Code oder kann es sein das es für Dateien keinen Guten Baum gibt, da sich die Häufigkeiten zu sehr ähneln?

Thema: .net Framework auf 32bit System
Am im Forum: Entwicklungs- und Laufzeitumgebung (Infrastruktur)

Ok dank dir habe ich jetzt auch mal das "Ziel-System" auf 32 bit eingestellt und bin nach ner Menge rumprobieren dazu gekommen das ich jetzt weiß wo er aus dem Code springt.

Und zwar wenn ich einen GlobalEventProvider (aus einer dll; für hotkeys) initialisieren will. Sobald ich das weg mache funktioniert es wunderbar.

Ich werde mich wohl nach einer neuen DLL umsehen wo diese Problem hoffentlich nicht mehr auftaucht,

Thema: .net Framework auf 32bit System
Am im Forum: Entwicklungs- und Laufzeitumgebung (Infrastruktur)

Ich habe mir mit Hilfe von Vs2010 Rc und Blend 4 Beta eine WPF Anwendung erstellt.
Das komische nun ist nur das die Anwendung nur auf 64 bit System läuft. Sobald ich versuche die Anwendung auf einem 32Bit System zu starten öffnet sich diese nicht.
Auch wenn ich den Compiler auf x86 stelle.

Gibt es da generelle Probleme mit diesen Technologien und 32bit Systemen oder ist der Fehler ohne weiteres nicht zu erkennen?

Und dürfte so ein Fehler überhaupt vorkommen wenn ich den Compiler auf "any Tyoe" stelle zu Stande kommen?

Thema: Server mit Webinterface
Am im Forum: Web-Technologien

Den teil habe ich ja schon. Aber ich kann ja nicht einfach PHP verwenden und sonst wüsste ich nicht wie ich Sachen an den Server schicken kann.

Thema: Server mit Webinterface
Am im Forum: Web-Technologien

Ich bin gerade dabei eine Server Anwendung zu schreiben und wollte sie eigentlich per Webinterface steuern .
Ich weiß zwar wie man ein Http request beantwortet nur weiß ich nicht wie ich aus der html Seite heraus eine anfrage an den Server richten kann.

Mir fehlt da hauptsächlich ein Denkanstoß.

Thema: Char/String-Parameter an PostMessage übergeben
Am im Forum: GUI: Windows-Forms

Perfekt danke.
Und ja es geht darum die Eingabe in ein nicht fokussiertes Control zu tätigen.

Thema: Char/String-Parameter an PostMessage übergeben
Am im Forum: GUI: Windows-Forms

Ich versuche gerade einen string an ein Fenster Control zu senden und das via postMessage.

Dazu habe ich folgende Methode aufgestellt.

        [DllImport("user32", EntryPoint = "PostMessage")]
        public static extern int PostMessage(IntPtr hwnd, int Msg, int wParam, int lParam);

        public static void sendControlString(string msg, IntPtr handle)
        {
            foreach (Char c in msg)
            {
                PostMessage(handle, WM_KEYDOWN, (int)c, 0);
            }
        }

Das eigentliche Problem ist, dass immer das Falsche geschickt wird.
Gebe ich zb als String abcdefg ein, so kommt als Ergebnis : 1234567
Außer dem wird der das Numbpad emuliert, das habe ich herausgefunden in dem ich mir den keycode vom keyDown Event des Control angesehen habe.

Kann mir einer sagen wie ich an den richten wert aus einem Char bekomme?

Thema: Problem beim ausführen auf IIS server
Am im Forum: Web-Technologien

Bei meinem Projekt greife ich auf Prozesse und Win Api calls zurück und bei der Ausführung über Visual Studios funktioniert auch alles, aber wenn ich die Seite über Den IIS 7 Server laufen lassen, läuft irgend was schief. Ich schätze das der Code nicht auf die Prozesse zugreifen darf.

Stimmt das oder gibt es da evtl andere Gründe?

Thema: Unterprozess finden
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Ich hab folgendes Problem:

Ich brauche den prozess von dem ich nur den prozess habe, der den startet.

Bsp:

Mein programm startet test1.exe
test1.exe startet test2.exe
ich brauche die PID von test2.exe

Ich habe das auch schon hinbekommen nur leider geng das nur über den namen und sobalt ich den vorgang mehrmals machen will (meherer test1.exe und test2.exe laufen) funktiniert das nicht mehr weil das über den namen läuft.

Ich hoffe ihr habt verstanden was ich meine und könnt mir helfen.

Thema: Control Handle via Dialog ID ermitteln
Am im Forum: GUI: Windows-Forms

Nein, entschuldigung das hatte ich vergessen oben zu erwähnen.

Das window handle habe ich schon via Process.MainWindowHandle bekommen.

Thema: Control Handle via Dialog ID ermitteln
Am im Forum: GUI: Windows-Forms

Ich versuche im moment mit SendMessage einfach nur ein Label aus einer anderen Form auszuleesen. Soweit verstehe ich ja auch SendMessage doch weiß ich im Moment nicht wie ich das Handle vom Control ermittel. Ich hoffe das ich das mit der Dialog ID machen kann da die ja immer gleich bleibt.

Thema: Live-Webradio "abhören"
Am im Forum: Grafik und Sound

Doch es geht ohne WM Player da es Teil von .net frame work ist.
Wenn du den stream sniffen willst musst du ein anderen weg suchen

Thema: Live-Webradio "abhören"
Am im Forum: Grafik und Sound

Du kannst den AxWindowsMediaPlayer benutzen dem musst du nur eine Url geben und der spielt das ab

Beispiel:


using AxWMPLib;

AxWindowsMediaPlayer wmp = new AxWindowsMediaPlayer();
wmp.Url = "";
wmp.Ctlcontrols.play()

Jetzt musst ud nur kucken wo die Url zum stream steht