Entwickler-Ecke

Internet / Netzwerk - TCP/IP Client ohne visuelle Komponenten erstellen


Sinspin - Do 25.08.05 16:35
Titel: TCP/IP Client ohne visuelle Komponenten erstellen
Ich will eine Client Anwendung erstellen die eine TCP/IP Verbindung zu einem Server herstellt. Diese Anwendung soll im Hintergrund laufen und hat daher keine Oberfläche. Aus einem Testprogramm weiß ich das TClientSocket in einer normalen Application Anwendung funktioniert, auch wenn ich beim erstellen des Clients keine Komponente angebe. Aus einem nicht erkennbaren Grund funktioniert das ganze jetzt aber nicht. Nicht einmal ein Fehler wird erzeugt.
Ich würde auch die Klasse TCustomWinSocket nutzten leider ist diese nicht vollständig dokumnetiert. D.h. woher ich das TSocket Handle beziehen soll ist nirgendwo erleutert.


Udontknow - Do 25.08.05 16:45

Hallo!

Die Serversocket-Klasse verwendet intern für die Synchronisation der verschiedenen Verbindungen die Methode Synchronize, welche auf eine Botschaftsbehandlung in der Applikation angewiesen ist ( die ja eigentlich über Application.Run angesteuert wird). Daher funktioniert das ganze nicht (so einfach).

Cu,
Udontknow


retnyg - Do 25.08.05 16:49

du kannst das auch direkt mit der winapi machen, einfach in der msdn unter Suche im MSDN WINSOCK nachlesen.
es gibt aber gerade in diesem bereich massig komponenten, wie zum beispiel Suche bei Google ICS, Suche bei Google SYNAPSE, Suche bei Google CRTSOCK
edit: ein beispiel für den direkten einsatz der winsock.dll siehst du auf meiner hp im source von Suche in: Delphi-Forum, Delphi-Library MP3PROXY


Sinspin - Do 25.08.05 18:07

Danke für die schnelle Antwort!
mp3proxy scheint mir alle Grundlagen zu liefern die ich brauche.


Sinspin - Do 25.08.05 23:51

Vielen dank für die Hilfe.

Ich habe jetzt eine Konsolenbasierte Anwendung geschrieben die problemlos Daten senden und empfangen kann.
Ich brauche das ganze für ein Framework zum testen von verteilten Systemen die aus Java und Delphi Programmen bestehen. Die Java implementierung, die auch den Server für die Clients aller zu testenden Module bereitstellt, habe ich als erstes realisiert. Nun stand der Delphi Client an der ein bisschen probleme gemacht hat. Aufbauen tue ich auf die Unit Test Frameworks JUnit und DUnit. DUnit ist ja seit D2005 integriert, aber jeder kann es sich auch für einen ältere Version von Delphi runterladen und mal Anschauen. Es ist echt eine feine Sache.