Login-Server mit Name und Passwort??
Das mit den Buffern ist so nicht ganz richtig, RaVen. Da es schonmal
vorkommt, dass man einen gesendeten String nicht als ein Stück,
sondern als mehrere empfängt, braucht letztendlich doch jeder Client
einen eigenen Buffer.
Wie groß der allerdings ist, ist Ermessenssache und hängt davon ab, was
für Daten man erwarten darf. Für einen Chat sind 1000 Bytes wohl dicke
genug, für ein Bytecode Protokoll reichen evtl. auch 10 Bytes. Das ist also
eine Art "Designfrage", genau wie die Größe eines Tiles bei Spielen.
vorkommt, dass man einen gesendeten String nicht als ein Stück,
sondern als mehrere empfängt, braucht letztendlich doch jeder Client
einen eigenen Buffer.
Wie groß der allerdings ist, ist Ermessenssache und hängt davon ab, was
für Daten man erwarten darf. Für einen Chat sind 1000 Bytes wohl dicke
genug, für ein Bytecode Protokoll reichen evtl. auch 10 Bytes. Das ist also
eine Art "Designfrage", genau wie die Größe eines Tiles bei Spielen.
Lars
The only problem with troubleshooting is, that sometimes the trouble shoots back.
P4 2,6Ghz, 512MB RAM, GeForce 6200, WinXP Pro SP2, PB V3.94
The only problem with troubleshooting is, that sometimes the trouble shoots back.
P4 2,6Ghz, 512MB RAM, GeForce 6200, WinXP Pro SP2, PB V3.94
@Lars:
Wie gesagt, ich hab mir das ganze so zusammengereimt, naja wieder n bissel schlauer geworden
Hmmm...
Die Info kommt auch wirklich keinen Tag zu spät, da ich derzeitig ein Projekt am laufen habe was eben viel mit Netzwerkcode hantiert und da nur einmal nen Buffer festlegen lasse... *zurückansreißbrett*
Nur damit ich das richtig verstehe, das Bytecode Protocoll iss doch effektiv dafür da die übermittelten befehle auszulesen oder?
(Hantiere zwar mit den ganzen sachen rum, aber effektiv nie wirklich was von Netzwerkprogrammierung gelernt, deswegen die dumme Frage)
Danke schonmal für die Antworten
Mfg
RaVeN
Wie gesagt, ich hab mir das ganze so zusammengereimt, naja wieder n bissel schlauer geworden
Hmmm...
Die Info kommt auch wirklich keinen Tag zu spät, da ich derzeitig ein Projekt am laufen habe was eben viel mit Netzwerkcode hantiert und da nur einmal nen Buffer festlegen lasse... *zurückansreißbrett*
Nur damit ich das richtig verstehe, das Bytecode Protocoll iss doch effektiv dafür da die übermittelten befehle auszulesen oder?
(Hantiere zwar mit den ganzen sachen rum, aber effektiv nie wirklich was von Netzwerkprogrammierung gelernt, deswegen die dumme Frage)
Danke schonmal für die Antworten
Mfg
RaVeN
AMD Athlon64 3000+, 1024MB DDR-RAM, Geforce 8600GT, WinXP SP2, DirectX 9.0c, PureBasic 3.94
Mit ByteCode Protokoll meinte ich ein eigenes Protokoll, dass nicht, wie z.B.
FTP oder HTTP die Befehle als für Menschen verständliche Strings (USER,
PASS, GET), sondern als einzelne Bytes verschickt. Das wäre dann etwa
für ein MMORPG ein Byte 03 gefolgt von einigen Bytes Parametern ein
Befehl, die Position eines Spielers zu verändern.
Was ich damit ausdrücken wollte, ist, dass man, um Befehle wie [c]RETR /
pics/Forum/PureBasic/Screenshots/Telnet.jpg[/c] zu empfangen einen
größeren Buffer braucht als für das angesprochene [c]03 225 16 0 0[/c].
FTP oder HTTP die Befehle als für Menschen verständliche Strings (USER,
PASS, GET), sondern als einzelne Bytes verschickt. Das wäre dann etwa
für ein MMORPG ein Byte 03 gefolgt von einigen Bytes Parametern ein
Befehl, die Position eines Spielers zu verändern.
Was ich damit ausdrücken wollte, ist, dass man, um Befehle wie [c]RETR /
pics/Forum/PureBasic/Screenshots/Telnet.jpg[/c] zu empfangen einen
größeren Buffer braucht als für das angesprochene [c]03 225 16 0 0[/c].
Lars
The only problem with troubleshooting is, that sometimes the trouble shoots back.
P4 2,6Ghz, 512MB RAM, GeForce 6200, WinXP Pro SP2, PB V3.94
The only problem with troubleshooting is, that sometimes the trouble shoots back.
P4 2,6Ghz, 512MB RAM, GeForce 6200, WinXP Pro SP2, PB V3.94
Du hast eine LinkedList der User, die strukturiert ist und dann halt den
Pointer zum Speicherbereich enthält, und wie viele gültige Bytes da im
Moment drin sind (so kannst du dann, wenn du eine Antwort parsed hast,
einfach das, was weiter hinten steht, nach vorne kopieren und die Anzahl
der gültigen Bytes modifizieren und musst dir keine Sorgen machen um
den Müll hinten dran.
In die Struktur kannst du natürlich noch andere tolle Dinge packen, wie
etwa die IP.
Pointer zum Speicherbereich enthält, und wie viele gültige Bytes da im
Moment drin sind (so kannst du dann, wenn du eine Antwort parsed hast,
einfach das, was weiter hinten steht, nach vorne kopieren und die Anzahl
der gültigen Bytes modifizieren und musst dir keine Sorgen machen um
den Müll hinten dran.
In die Struktur kannst du natürlich noch andere tolle Dinge packen, wie
etwa die IP.
Lars
The only problem with troubleshooting is, that sometimes the trouble shoots back.
P4 2,6Ghz, 512MB RAM, GeForce 6200, WinXP Pro SP2, PB V3.94
The only problem with troubleshooting is, that sometimes the trouble shoots back.
P4 2,6Ghz, 512MB RAM, GeForce 6200, WinXP Pro SP2, PB V3.94
Du sollst auch nicht das ByteProtokoll mit nem String auslesenLittleFurz hat geschrieben:Bei den byteprotokoll würde ich nochmal mit dem 0 byte aufpassen (PB scheint da noch "paar" probleme zu haben, da mii dem Byte 0 ein ende des strings markiert wird. )
Warum liest du das nicht in nen Speicherbereich und dann per PeekB/Pointer?
Strings sind in PB Null-terminiert, das ist aber so weit nichts besonderes.
Lars
The only problem with troubleshooting is, that sometimes the trouble shoots back.
P4 2,6Ghz, 512MB RAM, GeForce 6200, WinXP Pro SP2, PB V3.94
The only problem with troubleshooting is, that sometimes the trouble shoots back.
P4 2,6Ghz, 512MB RAM, GeForce 6200, WinXP Pro SP2, PB V3.94
@Lars
danke, daß klingt sehr vielversprechend. ich werde mal schauen ob ich das irgendwie hinkriege.
falls aber jemand noch beispiele, zu diesem thema geben will, dann immer nur her damit, im codearchiv ist noch genügend platz.
c ya,
nco2k
danke, daß klingt sehr vielversprechend. ich werde mal schauen ob ich das irgendwie hinkriege.
falls aber jemand noch beispiele, zu diesem thema geben will, dann immer nur her damit, im codearchiv ist noch genügend platz.
c ya,
nco2k
~|__/
..o.o.. <--- This is Einkaufswagen. Copy Einkaufswagen into your signature to help him on his way to world domination.
..o.o.. <--- This is Einkaufswagen. Copy Einkaufswagen into your signature to help him on his way to world domination.
