AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Webserver in einer Exe?

Ein Thema von dragi · begonnen am 29. Mai 2005 · letzter Beitrag vom 8. Sep 2005
Antwort Antwort
Seite 1 von 2  1 2      
dragi

Registriert seit: 22. Jul 2003
198 Beiträge
 
Delphi 2005 Personal
 
#1

Webserver in einer Exe?

  Alt 29. Mai 2005, 03:18
Hallo,

ich habe mal ein Tool gesehen das aus einer Exe und einem Ordner mit wml Dateien bestand. Wenn man nun die Exe gestartet hat und sich mit seinem Handy über WAP mit der IP des Rechners verbunden hat wurden die wml Seiten angezeigt. Dazu muss doch ein Webserver in dieser Exe eingebaut sein, oder? Wie kann man so etwas machen?

Gruss

Dragi
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.252 Beiträge
 
Delphi 2006 Professional
 
#2

Re: Webserver in einer Exe?

  Alt 29. Mai 2005, 06:33
Zitat von dragi:
... Dazu muss doch ein Webserver in dieser Exe eingebaut sein, oder? Wie kann man so etwas machen?...
Hai dragi,

ein WEB-Server ist ein Programm wie jedes andere auch. Warum soll er dann nicht in einer Echse sein

Im Prinzip ist ein WEB-Server doch recht einfach aufgebaut. Das Programm lauscht auf bestimmten Ports (http : 80, WAP: 9201).
Der Client (WEB-Browser) sendet ihm nun eine Zeichenfolge (z.B. : /.../index.htm) in der genau steht welche Datei er vom Server haben möchte. Nun, und genau diese Dateien bekommt er dann zugesendet.
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat
dragi

Registriert seit: 22. Jul 2003
198 Beiträge
 
Delphi 2005 Personal
 
#3

Re: Webserver in einer Exe?

  Alt 29. Mai 2005, 13:38
Jetzt wo du das sagst klingt es logisch. Dann könnte man so etwas ja mit den normalen Sockets oder mit Indy realisieren. Jetzt habe ich mich mit sowas noch nicht wirklich beschäftigt aber würde der "Server" dann die wml-Datei als Stream senden? Ich meine, kann der WapBrowser dann damit etwas anfangen? Oder wie muss die Datei an den Browser gesendet werden?

Gruss Dragi
  Mit Zitat antworten Zitat
MosiXXL
(Gast)

n/a Beiträge
 
#4

Re: Webserver in einer Exe?

  Alt 29. Mai 2005, 14:51
Schau Dir doch mal die Indykomponenten (Indy -) an. Da findest Du so einiges. Unter anderem auch das Grundgerüst für einen Webserver.
  Mit Zitat antworten Zitat
Robert_G
(Gast)

n/a Beiträge
 
#5

Re: Webserver in einer Exe?

  Alt 29. Mai 2005, 15:17
Sowas ließe sich sicher mit IntraWeb in Delphi realisieren.
Die IMHO bessere Lösung wäre ASP.Net (IMHO), dort sind die meisten build-in Controls so entwickelt, dass sie sich entweder als full-fledged HTML oder auch als kleinere WML Version rendern.
  Mit Zitat antworten Zitat
dragi

Registriert seit: 22. Jul 2003
198 Beiträge
 
Delphi 2005 Personal
 
#6

Re: Webserver in einer Exe?

  Alt 29. Mai 2005, 19:49
Vielen Dank für die Tips. Ich benutze nun die IdHttpServer Komponente von indy. Die einzige Frage die ich mir noch nihct beantworten konnte, ist wie ich Links realisieren. Also woher weiss idhttpserver das auf ein link geklickt wurde und welche Site nun geladen werden soll? Ich finde auch nirgends ein tutorial zu dieser Webserver Komponente. Und eine Demo ist bei mir in Delphi 2005 nicht dabei.

Gruss

Dragi
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.252 Beiträge
 
Delphi 2006 Professional
 
#7

Re: Webserver in einer Exe?

  Alt 29. Mai 2005, 20:08
Zitat von dragi:
..... Also woher weiss idhttpserver das auf ein link geklickt wurde....
Überhaupt nicht
Es ist aufgabe des Clients einen "Link" auszuwerten und dem Server zu sagen was er, bei klick auf einen solchen, möchte.
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat
dragi

Registriert seit: 22. Jul 2003
198 Beiträge
 
Delphi 2005 Personal
 
#8

Re: Webserver in einer Exe?

  Alt 29. Mai 2005, 20:12
OK, aber wie kriege ich mit IdHttpServer raus was der Client gerade möchte?
In der CommanGet procedure wird ja einmal Request und Response übergeben. Aber wie sieht der request aus? Ich sehe es doch richtig: Der client clickt auf der Site auf den Link, damit wird die adresse der verlinkten Site an der Server geschickt. Aber wo kann ich nun auslesen was der Client für eine Adresse geschickt hat?

Gruss Dragi
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.252 Beiträge
 
Delphi 2006 Professional
 
#9

Re: Webserver in einer Exe?

  Alt 29. Mai 2005, 20:15
Zitat von dragi:
....damit wird die adresse der verlinkten Site an der Server geschickt....
Was verstehst Du denn unter "adresse"? Dein Server bekommt natürlich auch nur die Anfagen die "seiner URL entsprechen".
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat
dragi

Registriert seit: 22. Jul 2003
198 Beiträge
 
Delphi 2005 Personal
 
#10

Re: Webserver in einer Exe?

  Alt 29. Mai 2005, 20:22
Sorry das es ein wenig kompliziert ist mit mir. Ich habe mich mit Web überhaupt noch nicht beschäftigt. Ich habe nun einen Server der im moment nicht anderes macht als:

Code:
procedure TForm1.IdHTTPServer2CommandGet(AContext: TIdContext;
  ARequestInfo: TIdHTTPRequestInfo; AResponseInfo: TIdHTTPResponseInfo);
begin
  AResponseInfo.ContentStream := TFileStream.Create('index.wml',fmOpenRead);
end;
Die wml Datei sieht so aus:

Code:
<?xml version="1.0"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml">
<wml>
<card id="uebersicht" title="Hauptmenü" newcontext="true">
   <p align="center">
      [i]Willkommen bei
[b]Test Server[/b][/i]
   </p>
      [url="index2.wml"]Test[/url]
   



   </p>
</card>
</wml>
Wenn ich nun im Wap Browser auf den Link Test klicke denke ich mir das index2.wml an den Server gesendet wird. Das muss ich ja jetzt im Server abfangen und AResponseInfo so anpassen das nicht mehr index.wml sondern index2.wml gesendet wird. Aber mir ist schleierhaft wie ich das machen soll. Ich habe gedacht ich frage einfach ARequestinfo ab aber da weiss ich nicht welches Property das dann ist z.B. ARequestinfo.Dokument ist es nicht.

Vielleicht gehe ich das auch alles voll verkehrt an...

Gruss

Dragi
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:49 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz