AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Dienst aufteilen in DLLs?

Ein Thema von Jackie1983 · begonnen am 4. Aug 2009 · letzter Beitrag vom 4. Aug 2009
Antwort Antwort
Jackie1983

Registriert seit: 12. Mär 2007
486 Beiträge
 
#1

Dienst aufteilen in DLLs?

  Alt 4. Aug 2009, 13:16
Servus,

habe eine Client / Server Anwendung. Der Clientsocket (Thread) läuft als Dienst.
Jetzt habe ich mir gedacht, wenn der Dienst mal abschmiert weil es einen Fehler in der Programmierung gibt, muss ich den Dienst per Hand neustarten. Was nicht sein soll.

Zur Zeit sind alle "Module" im Client eingebaut.
Wäre es nicht besser im Dienst NUR den Clientsocket zu programmieren für die Kommunikation mit dem Server.
Die Aufgaben etc. werden dann in DLLs programmiert. So kann ich im Dienst ja direkt prüfen ob die Threads in den DLLs noch funktionieren, sonst neustart. Und wenn ein "Modul" Daten an den Server schicken möchte kann es die Daten den Dienst übergeben und dieser sendet die Daten an den Serversocket.

Was meint ihr dazu?
Wollte erst nachfragen was ihr dazu meint. Da das Projekt schon recht groß ist wäre das viel Arbeit.
So könnte man auch einzelne Module updaten über den Dienst und braucht nicht den ganzen Dienst abschalten.

Probleme die sich dabei aufstellen:
1) Thread in DLL, sollte funktionieren.
2) Thread in DLL starten über Initfunktion.
3) Thread und Timer in DLL da könnte ich probleme bekommen.
4) Übergabe der Werte aus einer DLL an Dienst -> ?

Gruß
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.049 Beiträge
 
Delphi 12 Athens
 
#2

Re: Dienst aufteilen in DLLs?

  Alt 4. Aug 2009, 13:31
ob die Threads nun in einer DLL laufen oder in der EXE ist vollkommen egal

wenn ein Thread ungeschützt abschmiert, dann reißt er so oder so das ganze Programm mit sich in den Abgrund (Programm beendet sich)
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
Benutzerbild von mirage228
mirage228

Registriert seit: 23. Mär 2003
Ort: Münster
3.750 Beiträge
 
Delphi 2010 Professional
 
#3

Re: Dienst aufteilen in DLLs?

  Alt 4. Aug 2009, 13:34
Zitat von himitsu:
wenn ein Thread ungeschützt abschmiert, dann reißt er so oder so das ganze Programm mit sich in den Abgrund (Programm beendet sich)
Immer? Also z.B. bei Stack-Overflows ist bei immer nur der TThread "flöten" gegangen, da die Threads ja in unterschiedlichen Kontexten laufen (eigener IP, Stack, etc.) ...
David F.

May the source be with you, stranger.
PHP Inspection Unit (Delphi-Unit zum Analysieren von PHP Code)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.049 Beiträge
 
Delphi 12 Athens
 
#4

Re: Dienst aufteilen in DLLs?

  Alt 4. Aug 2009, 14:02
was hattest du denn für einen Thread?
selber per WinAPI, oder via TThread der VCL?
(bei Letzterem ist ist die Threadprozedur durch Try-Except seitens TThread geschützt)

ich wollte aber nur darauf hinaus, daß es im Grunde egal ist, wo sich der Thread befindet.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
Jackie1983

Registriert seit: 12. Mär 2007
486 Beiträge
 
#5

Re: Dienst aufteilen in DLLs?

  Alt 4. Aug 2009, 14:15
bis jetzt ist mein Thread auch nur abgeschmiert und der Dienst lief noch weiter.
Man konnte aber den Dienst nicht mehr ansprechen oder richtig beenden.

Für die Update Funktion ist es aber wesentlich einfacher wenn die Module in DLLs stecken.
Und ich bekomme eher mit welche Modul nicht mehr funktioniert, da ja die dll nur "hängt" und ich im Dienst das dann sehe und eine Message an den Server schicken könnte, oder die dll neu lade.
  Mit Zitat antworten Zitat
franktron

Registriert seit: 11. Nov 2003
Ort: Oldenburg
1.446 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#6

Re: Dienst aufteilen in DLLs?

  Alt 4. Aug 2009, 15:30
Zitat von Jackie1983:
Und ich bekomme eher mit welche Modul nicht mehr funktioniert, da ja die dll nur "hängt" und ich im Dienst das dann sehe und eine Message an den Server schicken könnte, oder die dll neu lade.
Leider nicht du kannst die DLL nämlich nicht mehr richtig entladen, und sie bleib auch noch in Benutzung was ein löschen auch erschwert.
Frank
Tux sein Lieblingsquellcode
While anzfische<TuxSatt do begin
Fisch:=TFisch.Create; Tux.EssenFisch(Fisch); Fisch.Free;inc(anzfische); end;
  Mit Zitat antworten Zitat
Jackie1983

Registriert seit: 12. Mär 2007
486 Beiträge
 
#7

Re: Dienst aufteilen in DLLs?

  Alt 4. Aug 2009, 15:31
also dann doch eher nur der Dienst ohne die DLLs?
  Mit Zitat antworten Zitat
Antwort Antwort


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 12:29 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