AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke ClientSocket soll viele Server schnell abfragen

ClientSocket soll viele Server schnell abfragen

Ein Thema von holger_barntrup · begonnen am 19. Aug 2019 · letzter Beitrag vom 26. Aug 2019
Antwort Antwort
ensaron

Registriert seit: 29. Aug 2008
Ort: 10369 Berlin
63 Beiträge
 
Delphi 10.3 Rio
 
#1

AW: ClientSocket soll viele Server schnell abfragen

  Alt 19. Aug 2019, 10:04
Die Lösung via eigenem Thread wäre meiner Meinung nach von Vorteil, wenn das Abfrageintervall kürzer sein soll, als das maximal mögliche Timeout. Bei Verwendung von eigenen Threads könntest du dir eine Lösung programmieren, die vor dem Anlegen eines neuen Threads erst einmal die Liste der laufenden Threads durchgeht und nachschaut, ob zu der gewünschten Maschiene bereits ein noch offener Verbindungsversuch gestartet ist.
  Mit Zitat antworten Zitat
Michael II

Registriert seit: 1. Dez 2012
Ort: CH BE Eriswil
772 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: ClientSocket soll viele Server schnell abfragen

  Alt 19. Aug 2019, 13:20
Schau dir mal die ICSOverbyte WinSock Komponente an.

Alles ist Event gesteuert, nicht blockierend; dein Thread muss also zum Beispiel nach einem Connect Versuch (zu einer deiner Maschinen) nicht darauf warten, bis die Gegenstelle antwortet. Du kannst zu allen 101 Maschinen aufs Mal einen Connect Versuch starten und erhältst später via Ereignisse mitgeteilt, ob eine Session zustande gekommen ist, wenn sich ein Socket Status ändert usw. Es ist also völlig egal, wie lange der Verbindungsaufbau zu einer Machine X dauert: Da nicht darauf gewartet wird, ob und wann X antwortet, wird dein Thread nicht blockiert.


Ich habe mit ICS ein p2p Spiel programmiert: Ein User, welcher sich einloggt erhält eine nicht unbedingt sehr aktuelle Liste von Spielservern. Das Szenario ist also praktisch identisch. Alles läuft in einem Thread. In deinem Fall genügt für die Kommunikation (mit ICS) sicher der Hauptthread.
Michael Gasser
  Mit Zitat antworten Zitat
ensaron

Registriert seit: 29. Aug 2008
Ort: 10369 Berlin
63 Beiträge
 
Delphi 10.3 Rio
 
#3

AW: ClientSocket soll viele Server schnell abfragen

  Alt 19. Aug 2019, 13:47
Ja die ICS Komponenten kann ich auch empfehlen. Wenn du mit Threads bisher noch nicht viel gemacht hast, dürftest du mit ICS schneller zum gewünschten Ergebnis kommen.
  Mit Zitat antworten Zitat
Benutzerbild von holger_barntrup
holger_barntrup

Registriert seit: 1. Feb 2007
Ort: Barntrup
97 Beiträge
 
Delphi 10.4 Sydney
 
#4

AW: ClientSocket soll viele Server schnell abfragen

  Alt 20. Aug 2019, 05:18
Ich werde mir die mal ansehen, danke für den Tipp.
Gruß Holger
  Mit Zitat antworten Zitat
Benutzerbild von holger_barntrup
holger_barntrup

Registriert seit: 1. Feb 2007
Ort: Barntrup
97 Beiträge
 
Delphi 10.4 Sydney
 
#5

AW: ClientSocket soll viele Server schnell abfragen

  Alt 20. Aug 2019, 06:13
Könnte mir bitte jemand Hilfestellung geben wie ich diese Komponente oder das ganze Paket installiere.
Ich hatte jetzt das ICS-8.58 heruntergeladen und in einem eigenen Verzeichnis entpackt.

Steh gerade etwas auf dem Schlauch.
Gruß Holger
  Mit Zitat antworten Zitat
ensaron

Registriert seit: 29. Aug 2008
Ort: 10369 Berlin
63 Beiträge
 
Delphi 10.3 Rio
 
#6

AW: ClientSocket soll viele Server schnell abfragen

  Alt 20. Aug 2019, 06:55
In dem entpackten Verzeichnis gibt es einen "Install" Ordner. Dort das richtige Gruppenprojekt in Delphi öffnen (ich habe "D103Install.groupproj" genommen - für 10.3, VCL only). Das Gruppenprojekt besteht aus einem Runtime- und einem Design-Projekt. Das Runtime-Projekt erzeugen und das Design-Projekt installieren.

Details zu den Gruppenprojekten siehe "ReadMe8.txt": "INSTALLATION USING THE INSTALL PROJECT GROUPS"

Wirf anschließend mal einen Blick auf die mitgelieferten Beispiele. Ich denke das hier könnte für dich erst einmal das wichtigste sein: "Samples\Delphi\SocketDemos\OverbyteIcsCliDemo.dpr oj". Da wird ein einfacher TCP Client erstellt. Um auf das Herstellen der Verbindung zu reagieren, musst du dich dann bloß in das "CliSocketSessionConnected"-Event reinhängen.
  Mit Zitat antworten Zitat
Benutzerbild von holger_barntrup
holger_barntrup

Registriert seit: 1. Feb 2007
Ort: Barntrup
97 Beiträge
 
Delphi 10.4 Sydney
 
#7

AW: ClientSocket soll viele Server schnell abfragen

  Alt 20. Aug 2019, 07:00
Wo das entpackte Verzeichnis liegt ist egal oder muss das an einer bestimmten Stelle liegen?
Gruß Holger
  Mit Zitat antworten Zitat
Benutzerbild von holger_barntrup
holger_barntrup

Registriert seit: 1. Feb 2007
Ort: Barntrup
97 Beiträge
 
Delphi 10.4 Sydney
 
#8

AW: ClientSocket soll viele Server schnell abfragen

  Alt 20. Aug 2019, 07:08
In dem entpackten Verzeichnis gibt es einen "Install" Ordner. Dort das richtige Gruppenprojekt in Delphi öffnen (ich habe "D103Install.groupproj" genommen - für 10.3, VCL only). Das Gruppenprojekt besteht aus einem Runtime- und einem Design-Projekt. Das Runtime-Projekt erzeugen und das Design-Projekt installieren.
Das Runtime habe ich erzeugt, Wo sehe ich das Design-Projekt und wie installiere ich es dann?

Sorry, hab das noch nie gemacht.

Edit:
Man sollte besser schauen, hab es gefunden, stand ganz unten.
Gruß Holger

Geändert von holger_barntrup (20. Aug 2019 um 07:13 Uhr) Grund: Gefunden
  Mit Zitat antworten Zitat
TurboMagic

Registriert seit: 28. Feb 2016
Ort: Nordost Baden-Württemberg
3.048 Beiträge
 
Delphi 12 Athens
 
#9

AW: ClientSocket soll viele Server schnell abfragen

  Alt 24. Aug 2019, 08:13
Könnte mir bitte jemand Hilfestellung geben wie ich diese Komponente oder das ganze Paket installiere.
Ich hatte jetzt das ICS-8.58 heruntergeladen und in einem eigenen Verzeichnis entpackt.

Steh gerade etwas auf dem Schlauch.
Also wenn du Rio benutzt, dann gehe doch einfach nach Tools / GetIt Package Manager und installiere es darüber.
Der lädt alles benötigte runter und compiliert alles benötigte. Ist echt am stressfreiesten.

Komisch, dass dir keiner der anderen hier den Tipp gegeben hat...
  Mit Zitat antworten Zitat
Antwort Antwort

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:40 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz