AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Anfängerfrage Server - Client

Anfängerfrage Server - Client

Ein Thema von iphi · begonnen am 16. Sep 2017 · letzter Beitrag vom 18. Sep 2017
Antwort Antwort
mjustin

Registriert seit: 14. Apr 2008
3.011 Beiträge
 
Delphi 2009 Professional
 
#1

AW: Anfängerfrage Server - Client

  Alt 16. Sep 2017, 16:30
Ich habe Server und Client mal auf demselben Rechner laufen lassen, da geht das. Die benutzen die IP 127.0.0.1, die hat irgendwie nichts mit der IP meines Rechners zu tun. Warum geht das?
Wenn Server und Client auf unterschiedlichen Rechnern laufen geht es nicht.
Damit der Server Verbindungen von aussen (= andere Rechner) annimmt, muss er externe Socketverbindungen annehmen. Dazu gibt es zwei Wege: a) an die IP Adresse des externen Netzwerkadapters binden oder b) an die IP Adresse 0.0.0.0 binden - diese ist "symbolisch" für "alle IPv4 Adressen" (siehe https://de.wikipedia.org/wiki/0.0.0.0).
Daneben ist der Port wichtig, auf dem er Verbindungen annimmt.

Als einfachste TCP Client/Server Komponenten bietet Delphi die Indy TIdTcpClient und TIdTcpServer. Letztere ist multithreaded, d.h. für jede Client-Verbindung läuft auf dem Server ein eigener Thread. Auf Stackoverflow gibt es dazu viele Praxistipps und Lösungen, z.B. https://stackoverflow.com/questions/...server-to-send
Michael Justin
  Mit Zitat antworten Zitat
iphi

Registriert seit: 13. Feb 2009
266 Beiträge
 
Delphi 7 Personal
 
#2

AW: Anfängerfrage Server - Client

  Alt 16. Sep 2017, 18:04
Danke für die vielen Tipps. Da habe ich was zu studieren

Wie finde ich denn heraus, welche Ports auf dem Server-Rechner noch unbenutzt sind?

Ich glaube, ich brauche blockierende Sockets. Auf meinen Server darf immer nur genau einen Client gleichzeitig zugreifen.
  Mit Zitat antworten Zitat
Benutzerbild von stahli
stahli

Registriert seit: 26. Nov 2003
Ort: Halle/Saale
4.358 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: Anfängerfrage Server - Client

  Alt 16. Sep 2017, 18:14
Ich denke, dass man den Port probieren muss und wenn der Start nicht klappt, einen anderen (mein Kenntnisstand soweit).


Blockierend heisst: Der Client fragt den Server und wartet auf Antwort bevor er etwas anderes tun kann.
Während der Wartezeit ist er somit blockiert.
Deshalb realisiert man solche Anfragen ggf. in Threads, damit die Anwendung nicht längere Zeit hängt (insbesondere wenn man Long polling nutzt).

Schau Dir mal die Indys an (wie mjustin vorgeschlagen hat), die nehmen einem einige Arbeit ab.


Im Gegensatz dazu ist die die asynchrone Kommunikation etwas anders organisiert. Man schickt einfach Nachrichten hin und her und wenn eine eintrifft wird sie vom Mainprozess verarbeitet.
Stahli
http://www.StahliSoft.de
---
"Jetzt muss ich seh´n, dass ich kein Denkfehler mach...!?" Dittsche (2004)
  Mit Zitat antworten Zitat
Benutzerbild von scrat1979
scrat1979

Registriert seit: 12. Jan 2007
Ort: Sulzbach a.d. Murr
1.029 Beiträge
 
Delphi 10.4 Sydney
 
#4

AW: Anfängerfrage Server - Client

  Alt 17. Sep 2017, 09:30
Ich habe mich lange mit der Client-Server-Programmierung beschäftigt und bin nahezu verzweifelt. Es gibt eine Vielzahl von Komponenten, alle mit Vor- und Nachteilen. Mit den Indys sowie mit der ICS bin ich leider nicht zurecht gekommen. Die "Erlösung" waren die WebSocket-Komponenten von esegece, auf die ich per Zufall gestoßen bin. Mittlerweile bin ich Besitzer der lizenzierten Version. Nach kurzer Einarbeitung konnte ich mir meine eigenen "Server-Komponenten" ableiten. Angefangen habe ich beim klassichen Chat-Programm. Im Moment sitze ich an einem LAN-fähigen Terminkalender für mein Geschäft. Alles läuft reibungslos. Eventuell wäre das ja ein Anfang und einen Blick wert.
Michael Kübler
  Mit Zitat antworten Zitat
Jumpy

Registriert seit: 9. Dez 2010
Ort: Mönchengladbach
1.740 Beiträge
 
Delphi 6 Enterprise
 
#5

AW: Anfängerfrage Server - Client

  Alt 18. Sep 2017, 08:26
Ich fand seinerzeit dieses Tutorial sehr lehrreich.
Ralph
  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 18:20 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