![]() |
TServerSocket wieviel Clients gleichzeitig?
Server , Client , connect, timeout, blocking/nonblocking so langsam packe ich die weisse Fahne aus.
aber vorher kämpfe ich mich tapfer weiter :? kann mir jemand sagen wieviele Client-Verbindung die TServersocket's akzeptieren(können)? ist da irgendwo ein Maximum? Gruss Ron |
Re: TServerSocket wieviel Clients gleichzeitig?
Hi,
das würde mich auch mal interessieren. Aber ich denke das hat erstmal nichts mit Server-Socket oder IdTcpServer zu tun, sondern das wird wahrscheinlich Betriebssystem abhängig sein, oder ? Ich habe auf jeden Fall noch kein max. gefunden. Gruß Data |
Re: TServerSocket wieviel Clients gleichzeitig?
Zitat:
|
Re: TServerSocket wieviel Clients gleichzeitig?
@Sharky:
10 Connections ? DAs kann nicht sein, überleg mal wieviel Connections allein Kazza oder eMule machen ?! Gruß Data |
Re: TServerSocket wieviel Clients gleichzeitig?
mittlerweile bin ich bei den Recherchen auf die warscheinlich simple Lösung gekommen, denn es können nur max 65535 sein, das ist die Anzahl der maximal möglichen Ports denn pro Verbindung gibts immer 2 Ports, der eine ist der Sende- der andere ist der Empfänger Port, (den sich der Server natürlich merken muss, oder?)wenn ich die TCP-Arie richtig verstanden habe oder hab ich da'n Denkfehler?
Ein Blick auf "netstat" erklärt, was ich meine. Auszug : TCP rons-computer:9099 192.168.1.5:1036 HERGESTELLT obiges Beispiel sagt, der Port "9099" resultiert aus der Eingabe im Client (und Server) wie denn die Verbindung herzustellen ist(Indy Beispiel), der Port "1036" ist der lokale Port auf der remote-machine wo der Client gestartet wurde. Dieser Port wurde am System angefordert und automatisch zugewiesen. Ergo geh'n uns doch irgendwann bei mehr als 65.000 connections die Ports aus, hmm...wie macht jemand wie ICQ sowas? da gibts doch Millionen von Usern jeden Tag? Gruss Ron |
Re: TServerSocket wieviel Clients gleichzeitig?
Hi!
Wg. ICQ: Die melden sich aber doch alle auf einem Port (5190) an, oder? Ciao fkerber |
Re: TServerSocket wieviel Clients gleichzeitig?
@ronbrand:
Wenn das mit den 65535 stimmt, dann heißt das nur, das Du als Client nicht mehr als 65535 connections aufmachen kannst. Aber als Server siehe Bsp. ICQ(Port 5190), gehe alle Connections auf den gleichen Ports und dieser Verarbeitet diese Multi-Threaded. Aber auch da wird es irgentwo eine Obergrenze geben, wo die liegt keine Ahnung :gruebel: Aber vielleicht gibt es ja auch mehere ICQ-Anmelde-Server, mit gemeinsamer Datenbank als Schnittstelle, so wird es laufen. Gruß Data |
Re: TServerSocket wieviel Clients gleichzeitig?
[quote="DataCool....10 Connections ? DAs kann nicht sein, überleg mal wieviel Connections allein Kazza oder eMule machen ?!...[/quote]
Ich meinte natürlich eingehende Verbindungen. |
Re: TServerSocket wieviel Clients gleichzeitig?
@Sharky:
Das war mir klar, das Du die eingehendenm Connections meintest, aber da macht eMule auch mehr. Oder meinst Du es können nur 10 Leute gleichzeitig von Dir saugen ? Connection heißt beim IdTcpServer zwar gleichzeitig auch ein Threads, aber Threads wo keine DAten gesandt werden werden solange schlafen gelegt. Gruß Data |
Re: TServerSocket wieviel Clients gleichzeitig?
Der Hintergrund des Problems und eine Lösungsmöglichkeit befindet sich höchstwahrscheinlich
![]() ..es geht hier um eine anderes Programm, aber wahrscheinlich um das selbe Problem |
Re: TServerSocket wieviel Clients gleichzeitig?
...und? Hat es geholfen?
|
Re: TServerSocket wieviel Clients gleichzeitig?
Zitat:
Gruss Ron |
Re: TServerSocket wieviel Clients gleichzeitig?
Ob es das Problem bei Indy auch gibt weiß ich nicht, da manche Socket Komponenten eine Property für BacklLog anbieten und manche halt nicht...
...das TCP aber ein Problem mit gleichzeitiger Anfagenbearbeitung hat ist bekannt (nicht Clientverbindungen) und wurde mittlerweile bei den meisten mir bekannten Komponenten auch angepasst |
Re: TServerSocket wieviel Clients gleichzeitig?
@All:
Mich persönlich interessiert, wie viele gleichzeitige Connections ein IdTcpServer von Indy annehmen kann und ob diese Zahl vom Betriebssystem anhängig ist oder nicht ! Denn jede Client-Connection bedeutet bei Indy einen Thread beim Server und ich denke das Windows irgentwann die Segel streichen wird. Was ist mit Linux da gibt es ja keine wirklichen Threads, sondern das wird ja dort anders gelöst. Mir geht es darum, das ich einen Server schreiben möchte, der wahrscheinlich so ca. max. 10.000 Clients bedienen soll. Dabei hat der Server nicht wirklich viel zu tun, ausser die Connections offen zu halten. Jetzt stellt sich mir die Frage : Weiter unter dem bekannten Windows mit Delphi entwickeln und nachher einen Windows Web-Server benutzen(Unser Admin wird mich killen :mrgreen: ) Oder mit Linux und Kylix entwickeln, wobei das für mich dann Neuland ist. Was schlagt Ihr vor ? Gruß Data |
Re: TServerSocket wieviel Clients gleichzeitig?
Data, nachdem ich die Dokumentation vom Apache (in der Version 2 multithread u.v.m.) gelesen habe bin ich drauf und dran mich Linux / Apache zu "nähern" . Wenn man sich umschaut haben doch grade auch namhafte Unternehmen Apache schon länger laufen. Aus den Kinderschuhen ist DER lange raus. Ich selbst hab aber damit auch noch keine Erfahrung, hab Linux erst vor 3 Wochen installiert, aber erste Gehversuche gefallen durchaus.
was die gleichzeitigen Connections betrifft, ich meine ich erinnere mich dunkel da mal eine Simulation geschrieben zu haben..hm..ist lange her, ich glaube nach ein paar hundert war schon Schluss, bin mir aber nicht mehr sicher insbes. waren das Uralt-Komponenten. wie wärs denn mit so einer dummy-Erzeugung? Gruss Ron |
Re: TServerSocket wieviel Clients gleichzeitig?
@ron:
Das ist mir schon klar, das man Linux als Server fährt als mit Windows :mrgreen:, lebe ja nicht hinterm Mond :zwinker: Mir geht es aber nicht um einen Webserver, sondern ich möchte eine Server-Applikation schreiben die ähnlich einem eMule-Server agiert. Die Applikation soll die Connections zu allen Clients offen halten und Informationen zwischen den einzelnen Clients broadcasten. Deshalb jetzt die Frage/Überlegung/Entscheidung: Den Server mit Delphi für einen Windows Server entwickeln. Den Server mit Kylix entwickeln und auf einem Linux Rechner benutzen. Gruß Data |
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:31 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