Autor Beitrag
IhopeonlyReader
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 600
Erhaltene Danke: 23


Delphi 7 PE
BeitragVerfasst: Mi 10.07.13 19:38 
Guten Tag,
nachdem mein Thread "Packetkontrolle" aufgrund einiger Streitereien vorerst gesperrt wurde, nutze ich die Zeit um eine für euch kleine Frage zu stellen...

Ihr könnt gerne darüber diskutieren, aber bitte bleibt sachlich und höflich ;)

Wie dieser Threadname schon sagt, geht es um Variablenaustausch über TCP/UDP...

Da dieses Thema sehr "grob" gehalten ist, hoffe ich, dass es zulässig ist mehrere Unterfragen zu stellen...

So nun zum Thema.. Stellt euch vor es existieren 5 Variablen
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
var
Text: String;
Zahl: Byte;
Punkt: TPoint;
Zeichen: Char;
UndRest: Integer;

Diese Variablen sollen (z.B. bei einem 2D- Egoshooter) konstant gehalten werden (also auf allen Rechnern gleich)

TCP wäre dabei sehr langsam aber sicher.. müsste aber bei solch kleinen Austäuschen (ca 1 MB) doch t-dem schnell genug sein..
UDP unsicher aber auf jeden Fall schneller..

Streams oder Strings?
Ich könnte es in einen String schreiben.. z.B.
ausblenden Delphi-Quelltext
1:
2:
3:
ZuSendenderText := IntToStr( Zahl ) + #13#10 + IntToStr(Punkt.X) + #13#10 + IntToStr( Punkt.Y ) 
#13#10+ Zeichen +#13#10 +  IntToStr( UndRest ) + #13#10 + Text;
//String senden

Diesen Text würde ich senden und auf der anderen Seite wieder zerlegen.. (deshalb auch Text am Ende, da hier die Trennugn (#13#10) drin enthalten sein kann)

oder in einen Stream schreiben
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
var MS: TMemoryStream;
//dann würde ich von Anfang an alle Variablen im Record "fortführen"
begin
MS := TMemoryStream.create;
MS.write( dasRecord, SizeOf( dasRecord ) );
//Stream senden...
end;


Frage 1: TCP oder UDP ?

Frage 2: Stream oder String ?

Nachtrag: Und vor allem, wie ist es mit dem "Dauersenden" bei einem Stream weiß der Empfänger ja nicht wann "Ende" ist, da man viele Records-Stream hinternander schickt wäre das ein Nachteil oder? Bei Strings käme alles gleichzeitig an -> Vorteil ?

Wie kann ich also diese "Stream-Packete" erkennen/ einteilen? immer ein #0 ans ende setzten oder wie

_________________
Sucht "neueres" Delphi :D
Wer nicht brauch was er hat, brauch auch nicht was er nicht hat!
Narses
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Administrator
Beiträge: 10181
Erhaltene Danke: 1254

W10ent
TP3 .. D7pro .. D10.2CE
BeitragVerfasst: Do 11.07.13 00:33 
Moin!

Bitte erstelle für jede deiner Fragen ein separates Topic, da die Diskussion mehrerer Fragen (auch wenn sie thematisch nah beieinander liegen, aber trotzdem andere Ausrichtung haben) in einem Topic für gewöhnlich für Verwirrung und Durcheinander sorgt. :idea: Danke! ;)

cu
Narses

_________________
There are 10 types of people - those who understand binary and those who don´t.
Dieses Thema ist gesperrt, Du kannst keine Beiträge editieren oder beantworten.

Das Thema wurde von einem Team-Mitglied geschlossen. Wenn du mit der Schließung des Themas nicht einverstanden bist, kontaktiere bitte das Team.