Hallo zusammen!
Ich schreibe einen kleinen Server in C#. Diese soll ähnlich wie ein Proxy funktionieren. Der Server wartet auf eine Anfrage (vermutlich über TcpListener realisiert?). Sendet ein Client eine Anfrage, soll diese an einen anderen Server weitergeleitet werden. Das ganze dann natürlich auch rückwärts mit der entsprechenden Antwort. Soweit also wie ein Proxy.
Speziell geht es mir aber nicht um das Umgehen von irgendwelchen Schranken. Der Server soll eine Weiche darstellen. Es geht um die Verbindung eines Clients mit einer Datenbank. Der gewünschte Server soll zwischen den beiden stehen. Er nimmt die Anfrage vom Client an. Dann leitet er diese entweder an einen (neu hinzukommenden Cache-) Server weiter oder (wenn der Cache keine Antwort hat) an die eigentliche Datenbank. Das Ergebnis des Cache bzw. der DB soll dann wieder an den Client zurück.
Eines der Probleme ist, dass der Client nicht editierbar ist. Er erwartet also als "Gegenspieler" eine Datenbank. Entweder der gesuchte Server ist also für den Client unsichtbar, oder der neue Server gibt sich "einfach" als Datenbank aus. Beides habe ich leider momentan noch nicht hinbekommen.
Nochmal als Zusammenfassung:
Der Server soll folgendes machen:
- Anfrage vom Client annehmen
- Nach einer Programmlogik entscheiden ob Anfrage an Server A (z.B. Cache) oder B (z.B. Datenbank) weitergeleitet wird
- entsprechend Weiterleiten
- erhaltene Antwort an den Client zurücksenden.
Vielen Dank für Ideen!
Ich schreibe einen kleinen Server in C#. Diese soll ähnlich wie ein Proxy funktionieren. Der Server wartet auf eine Anfrage (vermutlich über TcpListener realisiert?). Sendet ein Client eine Anfrage, soll diese an einen anderen Server weitergeleitet werden. Das ganze dann natürlich auch rückwärts mit der entsprechenden Antwort. Soweit also wie ein Proxy.
Speziell geht es mir aber nicht um das Umgehen von irgendwelchen Schranken. Der Server soll eine Weiche darstellen. Es geht um die Verbindung eines Clients mit einer Datenbank. Der gewünschte Server soll zwischen den beiden stehen. Er nimmt die Anfrage vom Client an. Dann leitet er diese entweder an einen (neu hinzukommenden Cache-) Server weiter oder (wenn der Cache keine Antwort hat) an die eigentliche Datenbank. Das Ergebnis des Cache bzw. der DB soll dann wieder an den Client zurück.
Eines der Probleme ist, dass der Client nicht editierbar ist. Er erwartet also als "Gegenspieler" eine Datenbank. Entweder der gesuchte Server ist also für den Client unsichtbar, oder der neue Server gibt sich "einfach" als Datenbank aus. Beides habe ich leider momentan noch nicht hinbekommen.
Nochmal als Zusammenfassung:
Der Server soll folgendes machen:
- Anfrage vom Client annehmen
- Nach einer Programmlogik entscheiden ob Anfrage an Server A (z.B. Cache) oder B (z.B. Datenbank) weitergeleitet wird
- entsprechend Weiterleiten
- erhaltene Antwort an den Client zurücksenden.
Vielen Dank für Ideen!