Memory Mapped Stream

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Mac & i Test Abo
  • Hallo Chris,

    wenn ich in meinem Programm Daten von A nach B übertragen möchte, vermeide ich es, diese in Dateien zu schreiben.
    Nach meinem Verständnis ist memory mapped IO vor allem hilfreich, um bei nicht sequentiellen Zugriffen diese
    einfach und effizient zu machen (wobei das mit der Effizienz sicher sehr von der konkreten Nutzung abhängt).
    Mir ist dazu nur mmap bekannt. D.h. keine Stream-Lösung.

    Für Streams zwischen zwei Programmen würde ich nach "Interprocess Communication macOS" suchen.

    Grüße
    Marco
  • Es geht um den Datentransfer von und zu einem Gerät über LAN oder seriell.
    Als "Doku" habe ich den C# Code von deren Ansteuerung. Dort werden die Daten über MemoryStream verschoben. Bin grad dabei das über eine Subklasse von Stream zu realisieren. Hab in ObjC schon mal was ähnliches gemacht.
    Man macht einfach solange irgendwelche Dinge, bis man tot ist.
    Und dann bekommen die anderen Kuchen.
  • Habe mal angefangen einen Clienten zu programmieren, der mit der HW aus der Arbeit kommunizieren kann. Mich hat einfach interessiert wie man das in Swift machen könnte.

    Ich wollte das nicht low-level mit Socket und OpenSSL machen. Dazu habe ich auch In-/OutputStream verwendet bzw. StreamDelegate. Ableiten war dazu nicht nötig. Das Network-Framework konnte ich nicht verwenden, da zuerst eine TCP-Verbindung aufgebaut werden muss, dann wird erst einmal kommuniziert und danach wird die Verbindung verschlüsselt. Das mit der Verschlüsselung hat nicht gleich funktioniert, habe ich aber auch hinbekommen. Self-signed Zertifikate werden unterstützt, wenn diese bekannt sind. Also im Schlüsselbund (manuell oder per Safari hinzugefügt). Wollte noch einen Dialog wie in Safari einbauen, wo man selber Zertifikate vertrauen kann (SFCertificateTrustPanel). Das ist noch offen.

    Letztendlich habe ich mich an ein Beispiel von Apple orientiert, das in Swift programmiert worden ist und Streams verwendet: TCPTransports: Using Various Apple APIs to Run a TCP Connection. Bei dem Beispiel fand ich die Verwendung von Enums ganz interessant.