2009-06-02 11 views
5

Wer kennt die Beispiele für eine in Delphi geschriebene TCP-Sockets-Proxy-Anwendung? Ich baue eine kleine Broker-Anwendung, die Socket-Verbindungen auf einem bestimmten TCP-Port überwachen, ein XML-Datenpaket über die Verbindung lesen, die Anforderung über TCP an einen Server aus einem Pool von verfügbaren Back-End-Servern liefern und liefern soll die resultierende Antwort zurück zur ursprünglichen TCP-Verbindung.Transparenter Delphi-Proxy für eine TCP-Verbindung

Ich bin sehr vertraut mit TCP und Socket-Level-Programmierung, würde aber lieber den Beispielcode als Ausgangspunkt finden. Wenn etwas verfügbar ist, würde es viel Zeit und Mühe sparen, da ich das Rad nicht neu erfinden müsste. Ich erinnere mich an einen kleinen TCP-Proxy, der 2003/2004 in Delphi geschrieben wurde, aber anscheinend den Link verloren hat.

Antwort

7

Suchen Sie nach einer Proxy-Implementierung für SOCKS? Wenn nicht, dann starten Sie einfach mit einem Server (http wäre wahrscheinlich ein guter Anfang) und bauen Sie darin die Fähigkeit ein, Ihr ankommendes XML-Datenpaket zu verarbeiten und die entsprechenden Anrufe zu tätigen. Etwas wie das Synapse Framework würde das zu einem ziemlich einfachen Projekt machen. Wenn Sie Synapse greifen, holen Sie sich die neueste Version von SVN. Es unterstützt alle aktuellen Versionen von Delphi.

Es ist eine httpproxy Demo für Synapse verfügbar, die helfen könnte, wenn Sie etwas traditionelleres implementieren möchten. Ein guter Start http Server example ist ebenfalls verfügbar.

+0

Ja, ich bin auf der Suche nach einer einfachen TCP-Socket-Implementierung. Der Broker wird tatsächlich zwischen BizTalk und einem ERP-System sitzen, so dass ich weiß, 100% der Daten sind XML, aber nicht als eine HTTP-Anfrage eingerahmt. Ich verwende Synapse unter D2009 und schaue mir den HTTP-Proxy an. Vielen Dank. –

-1

IPWorks von nSoftware sollte als eine kommerzielle Alternative zu Synapse betrachtet werden. Sie haben auch einige BizTalk-Adapter zur Verfügung.

Ich habe sowohl Synapse und IPWorks verwendet, und sie sind beide ziemlich gut. Ich habe die referenzierten BizTalk-Adapter nicht verwendet.

BizTalk Adapters

IPWorks

+0

Die Benennung einer Komponentensuite zählt nicht wirklich als Verknüpfung mit Beispielcode, denke ich ... – reiniero