AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Stream gleichzeitig lesen und schreiben.
Thema durchsuchen
Ansicht
Themen-Optionen

Stream gleichzeitig lesen und schreiben.

Ein Thema von skunker · begonnen am 16. Mär 2006 · letzter Beitrag vom 17. Mär 2006
Antwort Antwort
skunker
(Gast)

n/a Beiträge
 
#1

Stream gleichzeitig lesen und schreiben.

  Alt 16. Mär 2006, 23:31
Hallo,

ist es möglich, dass man in einem Stream (ob Memory oder File ist egal) direkt schreiben kann und gleichzeitig davon einen Teil auslesen kann, diesen z.B. verschicken kann und den stream dann wieder so zu lehren, dass genau der nächste Teil ausgelesen wird ?

Also z.B. folgends:

Ich schreibe was in den stream -> der stream wird gleichzeitig gelesen -> versickt -> die nächsten daten werden aus dem Stream gelesen und werden auch verschickt.


Wenn jemand natürlich direkt eine Lösung hat, wie ich in einem Stream was schreiben kann, der direkt übers Netzwerk geschickt wird und ausgelesen wird, so wäre ich sehr froh darüber.

Ich möchte eine Art wie Skype machen. Und die Bass.dll schreibt ja in einen MemoryStream. So dachte ich das ich den gleichzeitig direkt weiterschicke.

Oder wenn jemand ne gute Komponente kennt, welche nichts kostet, und mir ermöglicht VoIP zu benutzen (ohne Phone, nur Headset am PC) so wäre ich ebenfalls erfreut.

Danke im Voraus!

mfg
skunker
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#2

Re: Stream gleichzeitig lesen und schreiben.

  Alt 17. Mär 2006, 06:27
natürlich ist das Möglich. TStream besitzt die Methoden Read und Write. Mit diesen beiden Methoden kannst du die Daten lesen und schreiben. Und um an die gewünschte Position im stream zu gelangen wo die Daten stehen kannst du das Property "Position" nutzen.
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#3

Re: Stream gleichzeitig lesen und schreiben.

  Alt 17. Mär 2006, 07:06
Guten Morgen.

Ich glaube, dass skunker die Methoden Read und Write eines Streams kennt. Wenn ich die Frage richtig verstehe, dann sucht er nach einer Möglichkeit den socket i/o über ein stream interface abzuwickeln. Das ist grundsätzlich möglich, allerdings muss man dazu eine neue Klasse von TMemoryStream ableiten, die ein buffer switching für den Sende- und Empfangsbetrieb realisiert. Das ist nicht sehr aufwendig, aber wenn man die Indy TCP-Komponenten verwendet, dann kann man sich sogar diesen Aufwand sparen - dort erledigt das der IoHandlerStream.

Grüße vom marabu
  Mit Zitat antworten Zitat
th_bone

Registriert seit: 16. Jun 2004
172 Beiträge
 
Delphi 2005 Professional
 
#4

Re: Stream gleichzeitig lesen und schreiben.

  Alt 17. Mär 2006, 09:13
Hi,

ja funktioniert, hatte schon eine ähnliche Frage zu Filestreams - Lösung siehe hier:

stream sharen

cu

Ralf
  Mit Zitat antworten Zitat
skunker
(Gast)

n/a Beiträge
 
#5

Re: Stream gleichzeitig lesen und schreiben.

  Alt 17. Mär 2006, 16:44
Dann könnte ich ein VoIP ja so realisieren:

Mit der bass.dll wird aufgenommen.
der stream wird dann bei der indy komponente in den handle stream geschoben und verschickt und der client gibt das mit der bass.dll wieder aus.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:04 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz