Einzelnen Beitrag anzeigen

Benutzerbild von Neutral General
Neutral General

Registriert seit: 16. Jan 2004
Ort: Bendorf
5.219 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#1

ICS - Verbindungen gehen verloren

  Alt 1. Mär 2009, 16:08
Hi,

Bin gerade eine Serveranwendung am programmieren und habe mir zu Testzwecken ein zweites Programm gebaut, welches beliebig viele Clients auf den Server hetzt und den Server etwas beschäftigt.

Mein Server (Konsolenanwendung) sieht quasi so aus (Vom Aufbau her):
Delphi-Quellcode:
procedure TMeinWSocketServer.Listen;
begin
  FServerSocket.Listen; //FSocketSever: TWSocketServer

  while not FClosed do
  begin
    FServerSocket.ProcessMessages; // Ansonsten können keine Verbindungen etc verarbeitet werden.
    sleep(1); // Ist ungefähr das gleiche wie Application.ProcessMessages
  end;
end;

procedure Eingabe;
var cmd: String;
begin
  repeat
    readln(cmd);
  until cmd = 'exit';
end;

var ServerSocket: TMeinWSocketServer; // Kapselt den TWSocketServer
begin
  // Pseudo-Code
  ServerSocket.Erstellen;
  ServerSocket.Initialisieren;
  
  NeuerThread(@Eingabe);

  ServerSocket.Listen;
end;
Ich weiß nicht wie viel detailierten Code ihr noch braucht. Sagt einfach bescheid.
Mein 2. Programm hetzt dann eben beliebig viele Clients auf meinen Server. Im TEstfall 200. Dann starte ich eine neue Instanz des 2. Programms und hetze wieder 200 Clients auf den Server. Davon kommen meistens 8-15 Clients durch. Alle anderen eingehenden Verbindungen werden irgendwie verschluckt...
Man muss dazu sagen, dass der Server in dem Moment wo zum 2. mal 200 neue CLients dazukommen von den 1. 200 gut beschäftigt wird.

Ich schätze einfach der ServerSocket ist zu beschäftigt.. Keine Ahnung.. Aber ich weiß auch nicht wie ich das verhindern oder wie ich darauf reagieren soll.
Michael
"Programmers talk about software development on weekends, vacations, and over meals not because they lack imagination,
but because their imagination reveals worlds that others cannot see."
  Mit Zitat antworten Zitat