MiMeng: ASP Classic mit C Code

Hallo Zusammen,

Ich habe folgende Frage. Ich muss für meine Firma ein Real-Time Display erstellen, wo Werte von meinem bestimmten Software live angezeigt werden sollen. Den Zugriff Auf den Werte könnte ich durch C Code zugreifen. Meine Frage ist nun, wie kann ich diesen C Code mit meiner ASP Webseite verbinden. Ich benutze in diesem Fall leider nicht mit Visual Basic, sondern mit HomeSite. Ich bedanke mich für reichliche Informationen im Voraus.

Mit freundlichen Grüßen

Meng

  1. Hallo MiMeng,

    ich muss vorschicken, dass ich weder von C noch ASP wirklich Ahnung habe. Ich kann dir daher nur vom Konzept her helfen.

    Den Zugriff Auf den Werte könnte ich durch C Code zugreifen. Meine Frage ist nun, wie kann ich diesen C Code mit meiner ASP Webseite verbinden.

    Du könntest mit C via HTTP in regelmäßigen Abständen (z. B. einmal in der Minute) die Daten an einen Webserver senden, dafür könntest du libcurl benutzen. Für kleine Datenmengen reicht GET (also URL-Parameter, z. B. https://example.org/daten/?param1=wert1&param2=wert2) aus, für größere müsstest du POST bemühen. Serverseitig müsstest du diese Daten dann (mit ASP) verarbeiten, speichern und letztlich beim Abruf der Seite auch ausgeben.

    Zur Absicherung der Daten-Entgegennahme solltest du verschlüsselt kommunizieren (HTTPS) und Passwort und Nutzernamen benutzen, die kannst du mit in die URL packen:
    https://user:password@example.org/daten/?param1=wert1&param2=wert2

    Klassisches FTP statt HTTP(S) ist nicht zu empfehlen, weil das nicht verschlüsselt ist.

    Gruß
    Julius

    1. Hallo Julius,

      vielen Dank für die Rückmeldung. Über libcurl habe ich leider auch gar keine Erfahrung, wäre aber vielleicht eine Lösung. Ich werde jetzt reinlesen und versuchen es zu verstehen.

      Gruß Meng

  2. Hello,

    vielleicht hilft Dir diese Seite zu ASP WebSockets?

    Ich habe folgende Frage. Ich muss für meine Firma ein Real-Time Display erstellen, wo Werte von meinem bestimmten Software live angezeigt werden sollen. Den Zugriff Auf den Werte könnte ich durch C Code zugreifen. Meine Frage ist nun, wie kann ich diesen C Code mit meiner ASP Webseite verbinden. Ich benutze in diesem Fall leider nicht mit Visual Basic, sondern mit HomeSite. Ich bedanke mich für reichliche Informationen im Voraus.

    Liebe Grüße
    Tom S.

    --
    Die Krawatte ist das Kopftuch des Westens
    1. Hallo Tom,

      ich habe am Anfang auch mit Socket überlegt, aber das Problem in diesem Fall ist, dass wir in Firma keine .net benutzen. Wir haben hier meistens mit asp classic programmiert. Mit dem Sofeware HomeSite habe ich leider nicht den Bereich für Code-behind.

      Gruß Meng

      1. Uiuiui, die letzte Homesite Version stammt lt. Wiki von 2003 und es ist offziell seit 2009 aus der Wartung. Adobe empfiehlt Dreamweaver. Naja.

        ASP hat kein Codebehind, das ist richtig, die Trennung in Webform und Codebehind kam erst mit ASP.NET. Aber trotzdem kann man auf ASP Seiten VBScript unterbringen das serverseitig ausgeführt wird. Man kann auch mit <!--#include file="..." --> externe Scripte importieren und auf diese Weise Code aus den ASP Seiten in Klassen auslagern.

        Da Homesite laut Wikipedia Syntax-Highlighting für Sprachen wie Java, PHP und SQL hat, die niemals nicht im Browser laufen (VBScript auch nicht (mehr)), kann es mit Homesite nicht unmöglich sein, serverseitig laufenden Code zu erstellen.

        Mit serverseitigem VBScript kannst Du COM Objekte nutzen, siehe hier. Du musst nur herausfinden, wie man COM Objekte schreibt - das ist mit C eher quälend, mit C++ und MS ATL geht's wohl, und mit .net ist's ein Klacks (wenn man die Idee der .net-COM Bridge verstanden hat). Von C# aus musst du dann nur wieder herausbekommen, wie Du an deine Werte herankommst.

        Und dann gips die Triviallösung: Schreib dein C Programm als Kommandozeilenprogramm, schreibe deine Werte auf stdout, verwende in ASP das WScript.Shell Objekt mit der Exec Methode, und lies die Ausgabe vom StdOut Stream des WshScriptExec Objekts wieder ein. Beispiel

        Ich denke, damit das funktioniert, muss die ASP Seite vom IIS gehostet sein und der Application Pool mit relativ hohen Rechten laufen, sonst wird vermutlich weder COM noch Exec funktionieren. Da müsst ihr probieren.

        Rolf