Das Notes Forum

Domino 9 und frühere Versionen => Entwicklung => Thema gestartet von: Axel Janssen temp am 24.09.03 - 19:36:18

Titel: Socket connection mit Webserver über Win32 api?
Beitrag von: Axel Janssen temp am 24.09.03 - 19:36:18
Hi,

geht das irgendwie aus einem Domino5 Agenten?
Ich möchte einen HTTP SocketRequest absenden und eine Antwort empfangen.
Also normales request/respone.

Es geht mit Java, aber wg. des veralteten JDKs ist das imho nicht stabil.

Gruß Axel
Titel: Re:Socket connection mit Webserver über Win32 api?
Beitrag von: eknori am 24.09.03 - 19:37:32
hmm, hab da ne winsock klasse in script..
Titel: Re:Socket connection mit Webserver über Win32 api?
Beitrag von: Axel Janssen temp am 24.09.03 - 20:07:01
Irgendwie beruhigend d.h. Klasse.  8)

Schaun wir mal, wie wir das machen. Werd dich jedenfalls auf dem Laufenden halten. Kleinbetrag?

Gruß Axel
Titel: Re:Socket connection mit Webserver über Win32 api?
Beitrag von: Don Pasquale am 25.09.03 - 09:57:13


Eine SocketVerbindung, Eine SocketVerbindung  (frei nach Loriot )

Dasss ich dass noch erleben darf, in folgenden Threads
habe ich mich bemüht und es immerhin in einem JavaAgenten geschafft.


http://www.atnotes.de/index.php?board=7;action=display;threadid=3987;start=0

http://www.atnotes.de/index.php?board=7;action=display;threadid=8959;start=0

http://www.atnotes.de/index.php?board=7;action=display;threadid=8855;start=0

Diese Threads sind zum Thema, stecken aber in Sackgassen


Ciao

Don Pasquale
Titel: Re:Socket connection mit Webserver über Win32 api?
Beitrag von: Axel Janssen temp am 25.09.03 - 10:17:25
Danke Don, aber es geht nicht darum eine HTTP_Post Socketverbindung herzustellen. Das ist nicht das eigentliche Problem:
Man kann das einfach auf einer alten Version des Sun Tutorials basieren:
Code
import java.io.*;
import java.net.*;

public class Reverse {
    public static void main(String[] args) throws Exception {

   if (args.length != 1) {
       System.err.println("Usage:  java Reverse "
                               + "string_to_reverse");
       System.exit(1);
   }

   String stringToReverse = URLEncoder.encode(args[0]);

   URL url = new URL("http://java.sun.com/cgi-bin/backwards");
   URLConnection connection = url.openConnection();
   connection.setDoOutput(true);

   PrintWriter out = new PrintWriter(
                              connection.getOutputStream());
   out.println("string=" + stringToReverse);
   out.close();

   BufferedReader in = new BufferedReader(
            new InputStreamReader(
            connection.getInputStream()));
   String inputLine;

   while ((inputLine = in.readLine()) != null)
       System.out.println(inputLine);

   in.close();
    }
}


Nur leider existieren Meldungen, die sagen, daß die java.net-Basisklassen in älteren Java-Versionen nicht immer stabil sind. Und instabile Socketverbindungen würden eine M_E_N_G_E Ärger verursachen auch wenn es allermeistens läuft).  
Empfohlen wurden die Klassen des Brazil Frameworks, aber die machen bei mir auf Domino6 Probleme (weiß nicht obs an mir liegt oder an Domino6).
Bleiben noch die Klassen aus dem apache.jakarta.commons.HTTPClient Projekt.
Naja. Als Grundlage des Projekts nehmen wir erst mal code der so ähnlich ist, wie der da oben, müssen das aber ausführlich testen und vermutlich ersetzen.

Gruß Axel
Titel: Re:Socket connection mit Webserver über Win32 api?
Beitrag von: Don Pasquale am 25.09.03 - 10:38:58
@Axel,

mich interessiert, wie ich mittels LotusScript eine SocketVerbindung zu
einem anderen Rechner bekomme.
Du suchst etwas anderes ?

Ciao
Don Pasquale
Titel: Re:Socket connection mit Webserver über Win32 api?
Beitrag von: Axel Janssen temp am 25.09.03 - 13:04:36
@Don
Die Programmiersprache ist mir egal. Die Verbindung muß eben nur sehr stabil sein.
Für LoScri auf Windows bietet Eknoris Library wohl einen guten Ansatzpunkt. Würde das aber einen Kollegen geben, der sich besser mit Windows Programmierung auskennt.

Die derzeitigen Tests mit der neuesten Java-Lösung laufen gut. Jedoch lese ich bezogen auf ältere Java Virtual Maschines da zuviel negatives drüber und wir haben bisher noch nicht wirklich mehrere-requests-gleichzeitig getestet.

Gruß Axel