Ich schreibe gerade eine Anwendung mit Vala, die erfordert, dass ich Daten über ein Netzwerk sende. Um beim Erstellen der Pakete zu helfen (und das Protokoll zu späteren Zeitpunkten zu aktualisieren), habe ich Strukturen erstellt, die ich an eine Methode wie void * weitergebe. Diese Strukturen stellen dar, wie das Paket angeordnet ist, und erlauben es mir sehr einfach, ein zu sendendes Paket zu erzeugen, ohne zu viel herumspielen zu müssen. Das Problem dabei ist jedoch, dass der Vala-Wrapper für GLib.OutputStream.write() keine Zählung akzeptiert (obwohl die ursprüngliche Methode dies tut). Vala nimmt die Größe des übergebenen uint8 [] und stellt dies der ursprünglichen Methode zur Verfügung. Gibt es eine einfache Möglichkeit, dies zu umgehen, ohne den GIO vapi zu bearbeiten? Möglicherweise eine sehr billige Möglichkeit, eine Leere * in einen Uint8 [] zu werfen, während eine Größe geliefert wird? Ich strebe eine sehr hohe Leistung an, da die Anwendung Tausende von Verbindungen gleichzeitig aufrechterhalten muss. Vielen Dank im Voraus für jede Hilfe.Schreiben einer Anzahl von Bytes in einen GLib.OutputStream in Vala
~ Michael
Danke :) Ich werde diese versuchen. Gibt es überhaupt keine Möglichkeit, alles über Vala zu tun? Ich meine, es macht mir nichts aus, einen Header zu verwenden, da nur ich wirklich den Code benutze. Ich frage mich nur, ob es ohne den C-Code gemacht werden kann :) –