Seite 1 von 1

xb2net

Verfasst: Do, 02. Okt 2008 12:24
von urbi
hi,

mache gerade erste gehversuche mit xb2net und habe schon verständnisprobleme.

was fehlt hier?

Code: Alles auswählen

  
#pragma library ("xb2net.lib")
#pragma library( "ASINet10.lib" ) 

PROC MAIN()

Local cHtml
Local oClient  := ThreadObject()

cHtml := HTMLDATA("start")  // gibt HTML-Seite zurück

oClient:send(cHtml)

RETURN
 


Aufruf: http://localhost/run?text.exe
Fehler: unbekannte Methode send

Gruss
Rainer

Re: xb2net

Verfasst: Do, 02. Okt 2008 12:30
von Martin Altmann
Hallo Rainer,
Du musst einen Webserver programmieren!
Dazu brauchst Du ein paar Zeilen Code, die Du auch in dem Beispielprgramm von Boris findest:

Code: Alles auswählen

....
MEMVAR->oWebServer := xbHTTPServer():new( INADDR_ANY, 80 )
if MEMVAR->oWebServer:ErrorCode > 0
	SaveToFile( ConvToAnsiCp( "______ Webserver kann nicht gestartet werden! ________________" + CRLF + "Fehlercode: " + LTrim(Str(MEMVAR->oWebServer:ErrorCode)) + " (" + MEMVAR->oWebServer:ErrorText(MEMVAR->oWebServer:ErrorCode) + ")" ), SERVER_ERR_LOG_FILE )
	Return
endif
MEMVAR->oWebServer:LingerTimeout( 120 )													// Nach zwei Minuten eine bestehende Verbindung beenden
MEMVAR->oWebServer:MaxConnections := 50                         // max # gleichzeitiger client-threads (Hinweis: ein client kann mehr als eine Verbindung öffnen)
MEMVAR->oWebServer:onMaxConnect   := OnMaxConnect()             // Antwort die gesendet wird, wenn MaxConnections Verbindungen erreicht werden
MEMVAR->oWebServer:RootDir        := '\wwwroot'                   // Das Webroot-Verzeichnis
MEMVAR->oWebServer:IndexFile      := "index.html"               // Indexdatei, die an den client geschickt wird
MEMVAR->oWebServer:onGET          := {|o| HTTPHandler(o)}       // HTTP GET wird erhalten
MEMVAR->oWebServer:onPOST         := {|o| HTTPHandler(o)}       // HTTP POST wird erhalten
MEMVAR->oWebServer:onHTTPError    := {|e| LogError(e,,"80"),break(redirekt())} // Serverfehler mitloggen
MEMVAR->oWebServer:onError        := {|o,n| LogError(o,n,"80")}
MEMVAR->oWebServer:onInvalidCommand := {|o| o:HTTPResponse:Content := redirekt() }
MEMVAR->oWebServer:onNotFound     := {|o| o:HTTPResponse:Content := redirekt() }
MEMVAR->oWebServer:start()
...
Dann läuft der Server :D

Viele Grüße,
Martin

Re: xb2net

Verfasst: Do, 02. Okt 2008 15:00
von brandelh
Hallo Martin,

das ist ja wirklich nicht viel ;-)

Eine Frage hätte ich allerdings, der HTTPHandler() ist das eine Funktion
die vorgegeben ist, oder schreibt man diese selbst um z.B. ein CGI-Programm
abzubilden ?

Re: xb2net

Verfasst: Do, 02. Okt 2008 15:04
von Martin Altmann
Hallo Hubert,
das ist eine Funktion, die man selber schreibt (oder man nimmt die aus Boris' Beispielen und passt sie ggf. an).
Ich hänge mal mein Sourcen von dem DevCon-Anmeldeserver an - die sind ja auch auf der DevCon-CD drauf.
Da hat man den kompletten Anmeldeserver in fünf Sprachen (Deutsch, Englisch, Französisch, Spanisch, Portugiesisch) - aber Dir erzähle ich da ja nichts neues :D

Viele Grüße,
Martin

Re: xb2net

Verfasst: Do, 02. Okt 2008 15:25
von brandelh
Hallo Martin,

ich bin in der Tat noch nicht dazu gekommen meine DevCon CD anzusehen.
Zumal ich sie immer noch nicht wieder gefunden habe ... :banghead:

Re: xb2net

Verfasst: Do, 02. Okt 2008 15:33
von Martin Altmann
Hallo Hubert,
brandelh hat geschrieben:Zumal ich sie immer noch nicht wieder gefunden habe ... :banghead:
ärgerlich...
Kommst Du zum XUG-Treffen nach Berlin oder nach Osnabrück?
Fehlt Dir nur die CD oder auch die DVD?
Könnte Dir bis dahin eine kopieren - ich weiß ja, dass Du da warst und dementsprechend Anspruch auf die CD und DVD hast :wink:

Viele Grüße,
Martin

Re: xb2net

Verfasst: Do, 02. Okt 2008 15:41
von brandelh
Hi,

die Videos und Bilder habe ich auf meiner Platte, nur die CD fehlt.
Zu den Treffen kann ich nicht kommen, aber wenn du eine ZIP mit dem ganzen Inhalt
irgendwo zugänglich ablegst und mit sagst wo es liegt lade ich es mir ;-)

Re: xb2net

Verfasst: Do, 02. Okt 2008 15:48
von Martin Altmann
Hallo Hubert,
brandelh hat geschrieben:Zu den Treffen kann ich nicht kommen
sehr schade :!:
Sind etwas über 300 MB!

Viele Grüße,
Martin

Re: xb2net

Verfasst: Do, 02. Okt 2008 15:52
von Tom
Äh. Post? Meiner Kenntnis nach gibt es den Laden noch. :wink:

Re: xb2net

Verfasst: Do, 02. Okt 2008 15:55
von Martin Altmann
Ach?
Damit käme der Hubert zum Treffen um seine CD abzuholen?
Nicht schlecht! :lol:
Die CD-Kopie sollte ja nur ein Anreiz sein, Hubert mal wieder zu sehen :!:
Leider ist er ja nicht angesprungen :(

Viele Grüße,
Martin

Re: xb2net

Verfasst: Do, 02. Okt 2008 15:56
von urbi
Hallo Martin,

danke für deine Hilfe, Server läuft!

würde jetzt gerne meine WAA Packgages nach xb2net portieren.
Ist es möglich dem Server beizubringen eine EXE mit Parametern aufzurufen und deren Rückgabe im WEB auszuliefern.
Beispiel LOGIN.EXE session user action Rüchgabe HTML-String ?

Gruss
Rainer

Re: xb2net

Verfasst: Do, 02. Okt 2008 16:02
von Martin Altmann
Hallo Rainer,
warum nicht?
Dein Anwender folgt einem link (bzw. ruft eine Funktion auf) - dadurch wird ein externes Programm bei Dir gestartet und die Rückgabe schickst Du in einer HTML-Datei zurück.
Aber wozu? Was willst Du genau bezwecken? Soll die EXE Dein WAA sein? Dann vergiss es, mach Dir lieber die Arbeit, das ganze nach XB2.NET zu portieren!
Ist die EXE ein XBase++-Programm? Dann nimm die Funktionalität auch in Dein XB2.NET-Server mit rein und passe es an die HTML-Seitenwünsche an.
Ist die EXE ein Drittprogramm, dann verfahre ruhig so, wie von Dir gefragt.

Viele Grüße,
Martin

Re: xb2net

Verfasst: Do, 02. Okt 2008 16:23
von urbi
Hallo Martin,

der Hintergrund meiner Frage:

die bisherige WAA Anwendung besteht aus mehreren unterschiedlichen voneinander unabhänigen Anwendungen,
die getrennt gepflegt werden müssen. Ich denke in werde mich dazu entschliessen diese in DLL's aufzuteilen.

Gruss
Rainer