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

  • »
  • Community
  • |
  • Diskussionsforum
Natur eines Streams
Big Al
myCSharp.de - Member



Dabei seit:
Beiträge: 342
Herkunft: Mannheim

Themenstarter:

Natur eines Streams

beantworten | zitieren | melden

Hi,
ich versende über einen Stream sowohl kurze Befehle, als auch Byte-Arrays.
Mit den Arrays kann es ja zum Beispiel über ISDN etwas länger dauern.
Wenn jetzt also erst das Array und währenddessen auch ein String gesendet wird,
wird dann erst das Array übertragen und dann der string, oder wird der irgendwie "dazwischengeschoben", sodass die Daten verfälscht werden?
Vielen Dank,
Alexander
Da man Spatzen nicht mit Kanonen jagt, sollte man auch nicht mit Computern auf Spatzenhirne losgehen.
private Nachricht | Beiträge des Benutzers
hulkstar
myCSharp.de - Member



Dabei seit:
Beiträge: 240
Herkunft: Celle / Göttingen

beantworten | zitieren | melden

Ich weiss zwar nicht genau, was Du vor hast aber wär es nicht besser, sich erstmal den empfang von der Gegenstelle bestätigen zu lassen?

Auf der anderen Seite kann ich mir nicht vorstellen, dass die Datenpakete einfach mal so in der Leitung ihre Reihenfolge ändern. Klar, bei Lan schon aber bei ISDN sollte hinten das rauskommen, was du vorne reinschiebst.
MfG hulkstar
private Nachricht | Beiträge des Benutzers
Big Al
myCSharp.de - Member



Dabei seit:
Beiträge: 342
Herkunft: Mannheim

Themenstarter:

beantworten | zitieren | melden

Die Frage war ein bisschen komisch gestellt, ich war in Eile und musste Mittagessen gehen. Also, ich schreibe in den Stream z.B.
"ich lade jetzt Datei bla.exe hoch", der Server macht sich für den Empfang der Datei bereit, aber serverseitig funzt ja alles...
Dann sendet der Client die Datei, was ja ne Weile dauern kann. Wenn also jetzt der Benutzer noch eine Datei hochladen will, während er die erste hochläd, schreibt er ja "ich lade jetzt Datei bla2.exe hoch". Gut wäre jetzt, wenn diese Nachricht z.B. in der Netzwerkkarte in eine Queue kommt und gesendet wird, wenn alles davor gesendet wurde, schlecht wäre, wenn es so wäre:
Array wird gesendet:
[..] steht für ein Byte der Datei:

[1][2][3]... "ich lade jetzt Datei bla2.exe hoch" ... [10][11]...

Ich hoffe, das war jetzt nicht wieder zu wirr, besser kann ichs aber nich erklären,
viele Grüße,
Alexander

/Edit: Ach ja, ich glaub Tcp/IP erledigt das mit den Empfangsbestätigungen
Da man Spatzen nicht mit Kanonen jagt, sollte man auch nicht mit Computern auf Spatzenhirne losgehen.
private Nachricht | Beiträge des Benutzers
Borg
myCSharp.de - Member



Dabei seit:
Beiträge: 1.529
Herkunft: Berlin, Germany

beantworten | zitieren | melden

Da sagst du jetzt etwas, was du vorher nicht gesagt hast.
Nämlich, dass du per TCP/IP sendest. In welches Protokoll das wiederum gekapselt wird, braucht dich nicht zu interessieren.
Und das wiederum heißt: solange Sender und Empfänger jeweils eine neue Verbindung für einen neuen Transfer aufmachen, sind diese auf dem Anwendungs-Layer (also bei dir) auch getrennt.
Um den Rest kümmern sich Treiber und Netzwerkstack.

EDIT: spellchecks
private Nachricht | Beiträge des Benutzers
Big Al
myCSharp.de - Member



Dabei seit:
Beiträge: 342
Herkunft: Mannheim

Themenstarter:

beantworten | zitieren | melden

Mmmmhhh, es gibt keine neue Verbindung.
Das Ganze ist ein Chat, mit dem man auch Dateien und Bilder versenden kann.
Sendet man also ein Bild/ eine Datei und chattet währenddessen, könnte es ja zu Komplikationen kommen. Leider habe ich keine ausreichend langsame Verbindung, um das mal auszuprobieren. Gibt es vllt. eine Möglichkeit, eine Netzwerkverbindung künstlich zu verlangsamen? Wenn nicht werde ich das Projekt mal bald hier im Projekteforum veröffentlichen und auf Reaktionen warten.
Vielen Dank für deine Hilfe!
Alexander
Da man Spatzen nicht mit Kanonen jagt, sollte man auch nicht mit Computern auf Spatzenhirne losgehen.
private Nachricht | Beiträge des Benutzers
Borg
myCSharp.de - Member



Dabei seit:
Beiträge: 1.529
Herkunft: Berlin, Germany

beantworten | zitieren | melden

Zitat
Mmmmhhh, es gibt keine neue Verbindung.
Dann erzeuge doch einfach eine neue Verbindung für neue Daten.
private Nachricht | Beiträge des Benutzers
kleines_eichhoernchen
myCSharp.de - Member

Avatar #avatar-2079.jpg


Dabei seit:
Beiträge: 3.971
Herkunft: Ursprünglich Vogtland, jetzt Much

beantworten | zitieren | melden

Bei Gescheiten Netzwerkkarten, kannst du die Geschwindigkeit (10, 100, 1000 Mbit) nach belieben einstellen
Es gibt 3 Arten von Menschen, die die bis 3 zählen können und die, die es nicht können...
private Nachricht | Beiträge des Benutzers
Big Al
myCSharp.de - Member



Dabei seit:
Beiträge: 342
Herkunft: Mannheim

Themenstarter:

beantworten | zitieren | melden

Das Programm soll ein Chat sein, d.h. es muss immer eine Verbindung zum Server bestehen. Naja, wenn's dann mal online ist wird sich zeigen ob alles funktioniert, wie es soll
Vielen Dank,
Alexander
Da man Spatzen nicht mit Kanonen jagt, sollte man auch nicht mit Computern auf Spatzenhirne losgehen.
private Nachricht | Beiträge des Benutzers
Freedom
myCSharp.de - Member



Dabei seit:
Beiträge: 3
Herkunft: Alzey

beantworten | zitieren | melden

Zitat
Original von Big Al
Mmmmhhh, es gibt keine neue Verbindung.
Das Ganze ist ein Chat, mit dem man auch Dateien und Bilder versenden kann.
Sendet man also ein Bild/ eine Datei und chattet währenddessen, könnte es ja zu Komplikationen kommen. Leider habe ich keine ausreichend langsame Verbindung, um das mal auszuprobieren.

Hi,

da ich auch mit Netzwerken bissl rumprobiere tut sich für mich hier eine Frage auf.
Wie schaffst du es bei TCP/IP wärend du ein Bild hochlädst noch zusätzlich Text zu übertragen?. Also ich meine wie hält das deine Server Komponente auseinander?

Danke schonmal für die Antwort
private Nachricht | Beiträge des Benutzers
svenson
myCSharp.de - Member



Dabei seit:
Beiträge: 8.746
Herkunft: Berlin

beantworten | zitieren | melden

Dafür gibt es zwei Lösungen:

1. unterschiedliche Ports je nach Datentyp
2. ein Protokoll auf einem Port, welches die Datentypen auseinanderhält
private Nachricht | Beiträge des Benutzers