AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Suchfunktion Ergebnis der Suchanfrage

Ergebnis der Suchanfrage


Datum des Suchindex: Heute, 15:17

Parameter dieser Suchanfrage:

Suche in Thema: Spielwiese - SocketTest
Suche alle Beiträge, die von "Zacherl" geschrieben wurden
• Suchmethode: "Suche nach allen Begriffen"
• Nach Datum (firstpost) sortiert
• Zeige Treffer als Beiträge
Zeige 6 von insges. 6 Treffern
Suche benötigte 0.000s

Es liegen Ergebnisse in folgenden Bereichen vor:

  • Forum: Netzwerke

    AW: Spielwiese - SocketTest

      Delphi
      by Zacherl, 23. Dez 2016
    Das ist bei den (dummen :stupid:) non-blocking Sockets leider auch wieder mal komplizierter:


    @stahli:
    Deine Send-Routine enthält auf jeden Fall das von mir beschriebene Problem, dass send deine Daten bei non-blocking Sockets leider NICHT garantiert komplett verschickt:


    Achso: Den TCP Stack direkt buffern zu lassen - wie du es momentan machst -, ist meiner Meinung nach keine gute Idee....
  • Forum: Netzwerke

    AW: Spielwiese - SocketTest

      Delphi
      by Zacherl, 22. Dez 2016
    Der von dir verlinkte Code hat mehrere Schwächen:

    Theoretisch ist es möglich, dass die Länge schon nicht in einem Stück ankommt
    Wenn du zwei Streams hintereinander schickst, kann das letzte Paket von Stream 1 bereits die Länge und Daten von Stream 2 enthalten
    Einfachste Vorgehensweise:

    Erstmal ALLE eingehenden Daten an einen Buffer (präziser: einer FIFO Datenstruktur) hinten anhängen...
  • Forum: Netzwerke

    AW: Spielwiese - SocketTest

      Delphi
      by Zacherl, 29. Nov 2016
    Bei den non-blocking Sockets musst du beim Senden aufpassen:



    Also müsstest du gegebenenfalls nach einem nicht vollständigen send()-Versuch manuell den Rest in einem/mehreren subsequenten send() Calls hinterherschicken.

    Was zusätzlich immer passieren kann (blocking und non-blocking), dass die Daten eines einzigen send()-Aufrufs in mehreren recv()-Aufrufen ankommen. Irgendeine Form von...
  • Forum: Netzwerke

    AW: Spielwiese - SocketTest

      Delphi
      by Zacherl, 12. Okt 2016
    Genau.


    TCP Connections hält man bei solchen Anwendungsfällen eigentlich immer permanent offen. Unter Windows kannst du mit einem IOCP Server durchaus auch tausende Verbindungen gleichzeitig offen halten. Hierbei wird dann nicht pro eingehender Client Verbindung ein Thread erstellt, sondern ein Thread-Pool genutzt.


    Das sollte gehen. Eventuell solltest du dir aber auch mal UDP (und...
  • Forum: Netzwerke

    AW: Spielwiese - SocketTest

      Delphi
      by Zacherl, 11. Okt 2016
    Von der Performance her sind die non-blocking Sockets sogar geringfügig langsamer, weil dort alle Events über Window-Messages getriggert werden, die zuerst den kompletten Weg durch die MessageQueue nehmen müssen. Das Pullen von blocking Sockets ist sehr sparsam was CPU Last angeht. Windows regelt die kompletten Synchronisationsmechanismen im Kernel, weshalb zwar einmalig ein Context-Switch...
  • Forum: Netzwerke

    AW: Spielwiese - SocketTest

      Delphi
      by Zacherl, 10. Okt 2016
    Darüber brauchst du dir keine Gedanken machen. TCP garantiert sowohl die korrekte Reihenfolge als auch die verlustfreie Zustellung der Pakete :)


URL zu dieser Suchanfrage:

https://www.delphipraxis.net/dp_search.php?do=usersearch&search_username=Zacherl&search_exact_username=1&search_sortby=dateline&search_resulttype=post&search_matchmode=0&searchthreadid=190482
Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:35 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