Frage zur InternetProgrammierung



  • hi!
    Ich hätte mal eine Frage.
    Was genau ist der Unterschied zwischen TCP und UDP?
    Welches von beiden verwendet man normalerweiße in online Spiele(mmorpgs)?
    auf antworten freu ich mich
    danke



  • TCP und UDP kann man so vergleichen

    UDP: Du schickst einen Brief mit der Post. Du weißt zwar nicht ob er fix ankommt, wenn nicht, versuchst du's auch nicht mehr.

    TCP: Du schickst einen Brief mit der Post per Einschreiben -> Du bekommst also eine Bestätigung, wenn der Brief angekommen ist. Falls nicht, wird automatisch neu gesendet.

    Ich würde in einem Spiel UDP verwenden, weil es egal ist, wenn einzelne Pakete mal nicht ankommen.



  • UDP: http://de.wikipedia.org/wiki/User_Datagram_Protocol
    TCP: http://de.wikipedia.org/wiki/Transmission_Control_Protocol

    Erst informieren, dann Posten. Wenn du das durchgelesen hast, kannst du konkrete Fragen stellen, was du nicht verstanden hast.

    Zu der anderen Frage: ich würde UDP in einem OnlineGame nutzen, da es sicher verkraftet werden kann, wenn mal ein paar Pakete nicht ankommen...

    Gruß,
    Machine

    EDIT: da war wohl jemand schneller.



  • ok danke aber von UDP hört man irgendwie nix weil alle TCP verweden...

    Kann man UDP packete für online spiele programmierung auch mit winsocks versenden?



  • BErnhard12 schrieb:

    Kann man UDP packete für online spiele programmierung auch mit winsocks versenden?

    Ja.

    Ausserdem gebe ich zu bedenken, dass generelle Aussagen wie "für ein Online Game geht UDP schon, da es egal ist, wenn einige Packete verloren gehen" ein wenig undiffererenziert finde. Immhin könnte es sich z.B. um den Punktestand handeln (nicht egal) oder um die Pos. der Gegner, die sowiso laufend upgedated wird (dann ists egal)... manchmal ist es kritisch, manchmal nicht.

    Simon



  • man könnte doch dann das wichtige (spielstände usw per TCP) und rest mit UDP was nicht so wichtig ist? oder kann man nur immer 1 verwenden



  • Nein, natürlich kannst du mehrere verwenden.

    MfG



  • man *kann* natürlich TCP und UDP parallel verwenden. IMO ist es aber besser nur ein protokoll zu verwenden. wenn man UDP verwendet und gewisse sachen verlässlich übertragen werden müssen baut man sich einfach seinen eigenen reliability-layer auf UDP auf.
    eine ordentliche UDP kommunikation ist sowieso so viel arbeit, da ist das auch nimmer wirklich viel mehraufwand.


Anmelden zum Antworten