Autor Beitrag
elimhren
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 21


D6 Prof
BeitragVerfasst: Do 28.07.05 00:32 
Hallo!
Ich benötige zwecks Kommunikation mehrerer Programme in einem Netzwerk einen TCP/IP Server, der eingehende Befehle sortiert und jeweils an gewisse Programme weiterschickt.

Meine Vorstellung geht in die Richtung: Wenn eins dieser Programm startet meldet es sich bei diesem TCP Server per Socket Verbindung an, dieser Server verwaltet sämtliche angemeldete IP's in einer Liste und kann an diese bei Bedarf etwas zurückschicken.

Nun meine Frage, ich hab mich nun intensiv mit dem NetChat Beispiel von Delphi beschäftigt, wo soweit auch alles klar ist, dennoch:

Benötige ich für diese Anwendung wirklich Threads?
Was passiert wenn ich meine Clientsocket.Receiveln bei OnAccept direkt in eine TListView eintragen lasse und nicht über Synchronisierung
Wo sind dabei die Gefahren, nur kurze Verzögerung oder Datenverlust?

Danke für eure Hilfe
Johannes
Harry M.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 754

Win 2000, XP
D2005
BeitragVerfasst: Do 28.07.05 01:12 
Suche mal nach Client- und Serversocket, sehr beliebte und einfache Komponeten. Das sind 2 Delphi Komponeten die jedoch nicht vorinstalliert sind. Wie Du sie reinbekommst Komponete -> Package installieren und die Datei dclsockets70.bpl hinzufügen. Fertig. Und suche im Forum da findest Du eine Menge. Da ist nix mit Thread und sowas. Das was im D7 Demo-Ding-Bums bei ist basiert auf dem TCPCliet/Server. Oder irre ich mich jetzt??.

_________________
Gruß Harry
Et spes me per dies sine te ducat et amor me ferat, si dolor spem tollit.
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Do 28.07.05 02:18 
Er hat Delphi 6 Professional, da sollten sie schon mit installiert sein. ;)

Aber was hat die Antwort mit der Frage zu tun?
Zitat:

Benötige ich für diese Anwendung wirklich Threads?
Was passiert wenn ich meine Clientsocket.Receiveln bei OnAccept direkt in eine TListView eintragen lasse und nicht über Synchronisierung
Wo sind dabei die Gefahren, nur kurze Verzögerung oder Datenverlust?
Harry M.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 754

Win 2000, XP
D2005
BeitragVerfasst: Do 28.07.05 02:45 
Bei mir geht nix verloren und Threads brauche ich da auch nicht wollte ich damit verkünden.

_________________
Gruß Harry
Et spes me per dies sine te ducat et amor me ferat, si dolor spem tollit.
elimhren Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 21


D6 Prof
BeitragVerfasst: Do 28.07.05 11:26 
Das Komponentenpackage hab ich nun hinzugefügt und mich damit gespielt, funktionieren im Einfachen genauso wie die TCP/IP Komponenten von Delphi.

Für mich stellt sich nur die Frage, da dies keine Peer-To-Peer Socketverbindung werden soll, sondern eben ein Server der bis zu 300 Anfragen / Connections pro Minute verarbeiten muss.

Daher: Ja, es gibt diesen stThreadBlockingModus, der für jede einkommende Verbindung einen eigenen Thread öffnet - nur ehrlich gesagt, ich verstehe nicht wie ich nun mit GetThread/OnThreadStart usw. arbeiten soll (Threads allgemein sind mir bekannt) Google & Foren schweigen darüber, lediglich unsere russischen Kollegen beschäftigen sich damit, blöd dass ich kein russisch kann :roll:

Daher nochmal die prinzipielle Frage ob bei meinem Projekt ein Server ohne Thread-Handling ausreicht und wo die Engpässe sind - Verzögerung oder Datenverlust?

Danke euch!
Johannes