xb2net

Xb2.Net von Boris Borzic

Moderator: Moderatoren

Antworten
Benutzeravatar
urbi
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 142
Registriert: So, 26. Mär 2006 18:47
Wohnort: 76185 Karlsruhe
Kontaktdaten:

xb2net

Beitrag 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
urbi
Benutzeravatar
Martin Altmann
Foren-Administrator
Foren-Administrator
Beiträge: 16501
Registriert: Fr, 23. Sep 2005 4:58
Wohnort: Berlin
Hat sich bedankt: 111 Mal
Danksagung erhalten: 48 Mal
Kontaktdaten:

Re: xb2net

Beitrag 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
:grommit:
Webseite mit XB2.NET und ausschließlich statischem Content in Form von HTML-Dateien: https://www.altem.de/
Webseite mit XB2.NET und ausschließlich dynamischem Content in Form von in-memory-HTML: https://meldungen.altem.de/

Mitglied der XUG Osnabrück
Vorsitzender des Deutschsprachige Xbase-Entwickler e. V.
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15688
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Re: xb2net

Beitrag 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 ?
Gruß
Hubert
Benutzeravatar
Martin Altmann
Foren-Administrator
Foren-Administrator
Beiträge: 16501
Registriert: Fr, 23. Sep 2005 4:58
Wohnort: Berlin
Hat sich bedankt: 111 Mal
Danksagung erhalten: 48 Mal
Kontaktdaten:

Re: xb2net

Beitrag 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
Dateianhänge
devcon.zip
DevCon-Anmeldeserver,
(Demoversion von) XB2.NET wird benötigt!
(104.73 KiB) 410-mal heruntergeladen
:grommit:
Webseite mit XB2.NET und ausschließlich statischem Content in Form von HTML-Dateien: https://www.altem.de/
Webseite mit XB2.NET und ausschließlich dynamischem Content in Form von in-memory-HTML: https://meldungen.altem.de/

Mitglied der XUG Osnabrück
Vorsitzender des Deutschsprachige Xbase-Entwickler e. V.
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15688
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Re: xb2net

Beitrag 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:
Gruß
Hubert
Benutzeravatar
Martin Altmann
Foren-Administrator
Foren-Administrator
Beiträge: 16501
Registriert: Fr, 23. Sep 2005 4:58
Wohnort: Berlin
Hat sich bedankt: 111 Mal
Danksagung erhalten: 48 Mal
Kontaktdaten:

Re: xb2net

Beitrag 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
:grommit:
Webseite mit XB2.NET und ausschließlich statischem Content in Form von HTML-Dateien: https://www.altem.de/
Webseite mit XB2.NET und ausschließlich dynamischem Content in Form von in-memory-HTML: https://meldungen.altem.de/

Mitglied der XUG Osnabrück
Vorsitzender des Deutschsprachige Xbase-Entwickler e. V.
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15688
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Re: xb2net

Beitrag 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 ;-)
Gruß
Hubert
Benutzeravatar
Martin Altmann
Foren-Administrator
Foren-Administrator
Beiträge: 16501
Registriert: Fr, 23. Sep 2005 4:58
Wohnort: Berlin
Hat sich bedankt: 111 Mal
Danksagung erhalten: 48 Mal
Kontaktdaten:

Re: xb2net

Beitrag 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
:grommit:
Webseite mit XB2.NET und ausschließlich statischem Content in Form von HTML-Dateien: https://www.altem.de/
Webseite mit XB2.NET und ausschließlich dynamischem Content in Form von in-memory-HTML: https://meldungen.altem.de/

Mitglied der XUG Osnabrück
Vorsitzender des Deutschsprachige Xbase-Entwickler e. V.
Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 9345
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Hat sich bedankt: 100 Mal
Danksagung erhalten: 359 Mal
Kontaktdaten:

Re: xb2net

Beitrag von Tom »

Äh. Post? Meiner Kenntnis nach gibt es den Laden noch. :wink:
Herzlich,
Tom
Benutzeravatar
Martin Altmann
Foren-Administrator
Foren-Administrator
Beiträge: 16501
Registriert: Fr, 23. Sep 2005 4:58
Wohnort: Berlin
Hat sich bedankt: 111 Mal
Danksagung erhalten: 48 Mal
Kontaktdaten:

Re: xb2net

Beitrag 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
:grommit:
Webseite mit XB2.NET und ausschließlich statischem Content in Form von HTML-Dateien: https://www.altem.de/
Webseite mit XB2.NET und ausschließlich dynamischem Content in Form von in-memory-HTML: https://meldungen.altem.de/

Mitglied der XUG Osnabrück
Vorsitzender des Deutschsprachige Xbase-Entwickler e. V.
Benutzeravatar
urbi
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 142
Registriert: So, 26. Mär 2006 18:47
Wohnort: 76185 Karlsruhe
Kontaktdaten:

Re: xb2net

Beitrag 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
urbi
Benutzeravatar
Martin Altmann
Foren-Administrator
Foren-Administrator
Beiträge: 16501
Registriert: Fr, 23. Sep 2005 4:58
Wohnort: Berlin
Hat sich bedankt: 111 Mal
Danksagung erhalten: 48 Mal
Kontaktdaten:

Re: xb2net

Beitrag 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
:grommit:
Webseite mit XB2.NET und ausschließlich statischem Content in Form von HTML-Dateien: https://www.altem.de/
Webseite mit XB2.NET und ausschließlich dynamischem Content in Form von in-memory-HTML: https://meldungen.altem.de/

Mitglied der XUG Osnabrück
Vorsitzender des Deutschsprachige Xbase-Entwickler e. V.
Benutzeravatar
urbi
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 142
Registriert: So, 26. Mär 2006 18:47
Wohnort: 76185 Karlsruhe
Kontaktdaten:

Re: xb2net

Beitrag 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
urbi
Antworten