Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

METTEZ UN MINI SERVEUR WEB DANS VOS APPLICATIONS


Information sur la source

Description

Cliquez pour voir la capture en taille normale
Ce programme est hyper basic, mais il vous montre comment (enfin à ma façon) vous pouvez integrer un serveur web dans votre application, pour pouvoir l'interroger à distance (Style Emule).

Après à vous de vous en inspirez pour pouvoir en faire quelque chose d'util.

Les remarques (et même les insultes) sont les bienvenues.
 

Source

  • procedure VoirCode;
  • begin
  • AllerChercher( DansLeZip );
  • end;
procedure VoirCode;
begin
   AllerChercher( DansLeZip );
end;

Conclusion

Attention, vous ne devez pas avoir un serveur Web deja présent sur la machine où vous testez le programme, sinon confli de Port 80 :-D
 

Fichier Zip

Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip

Commentaires et avis

signaler à un administrateur
Commentaire de elguevel le 19/10/2005 13:07:19

En faite j'ai fait çà hier ; c'est en voyant la page web d'un serveur Emule que j'ai eut l'idée !

Sinon oui c'est une ebauche, la classe de création HTML peut être largement plus ettoffé et plus complète, et il n'y a là que la base de l'affichage.

Sinon pour les composants Indy il faudra que je vois, car je ne les ait encore jamais utilisé.

Mais merci pour le commentaire.

signaler à un administrateur
Commentaire de yvessimon le 19/10/2005 13:50:17

Bonjour,

A la compilation j'ai les 2 erreurs :

classe TServerSocket   non trouvée
ServerPage.ServerWeb   n'a pas de composant correspondant

Salutations

signaler à un administrateur
Commentaire de elguevel le 19/10/2005 14:33:01

"ServerWeb" est un TServerSocket, donc tes 2 messages d'erreurs sont en faite 1 erreure !

Sinon quelle version de Delphi utilise tu ?

En gros l'erreur que tu as est du au fait que Delphi ne trouve pas le composant "TserverSocket", ce que je trouve bizzard c'est que ce composant est présent sur toutes les versions de Delphi.

Conseil : Utilise au minimum Delphi 6 ! Sinon je voit pas ..

Cordialement.

signaler à un administrateur
Commentaire de yvessimon le 19/10/2005 15:06:11

J'utilise DELPHI 7

signaler à un administrateur
Commentaire de Kenavo le 19/10/2005 15:22:56

Ceci est un extrait du ficher README.TXT qui se trouve dans le répertoire de Delphi7 :

   "L'utilisation de TServerSocket et de TClientSocket
    de l'unité ScktComp a été désapprouvée par Borland. Il
    est recommandé d'utiliser les composants Indy pour les
    opérations de sockets. TServerSocket et TClientSocket
    ne sont plus installés dans la palette de composants
    par défaut. Si vous devez utiliser ces composants, vous
    pouvez installer la paquet de conception nommé
    dclsockets70.bpl que vous trouverez dans votre
    répertoire bin. Pour un déploiement avec les paquets
    d'exécution, vous devrez déployer rtl70.bpl et tous les
    éventuels paquets nécessaires."

Alors Yves, tu sais ce qui te reste à faire !

Ken@vo

signaler à un administrateur
Commentaire de Filipe35 le 19/10/2005 17:30:47

Et Delphi 5 intègre TServerSocket et TClientSocket ;)

bonne source

signaler à un administrateur
Commentaire de elguevel le 19/10/2005 17:47:24

Bon ba à vos claviers.... On recode avec Indy :-)

signaler à un administrateur
Commentaire de vaughan le 20/10/2005 10:04:09

Indy n'est pas livré avec toute les versions de Delphi ... par contre en freeware il existe une alternative qui pour moi est de plus mieux qu'indy. Les composants ICS de M Piette. Ce monsieur anime entre autre les conférences Borland.

Voici le lien
http://www.overbyte.be/frame_index.html

signaler à un administrateur
Commentaire de Joleroy le 20/10/2005 13:26:07

Manque plus que la prise en charge de php :)

signaler à un administrateur
Commentaire de elguevel le 20/10/2005 14:49:39

Pour la prise en charge de PHP il faut créer un systeme qui soit capable de parser et interpreter le langague, celà dépasse le cadre de mon application (et de mes connaissances) :-D

Sinon pour ceux qui veulent se lancer la classe TParser permet de faire pas mal de trucs :-)

signaler à un administrateur
Commentaire de elguevel le 21/10/2005 08:55:47

oui j'avais déjà vu ta source florenth, très beau boulot ;-)

signaler à un administrateur
Commentaire de MAURICIO le 21/10/2005 12:36:21

Salut Elguevel, bon bem je commence par les insultes? non, je plaisante!
Excelente source pour montrer à ceux qui ne s' y sont jamais collé que c' est pas sorcier !!!
Par contre, je te demande si tu peux changer cette source afin d' utiliser les compos Indy?! 10/10

PS: Je voudrais mettre une commnande pour faire le shutdown du PC servant de serveur et aussi, envoyer le même ordre du Serveur vers le client. Cependant, je sais pas quelle adresse je dois mettre vu que ce n' est plus une intranet ... Sans compter que mon routeur fait de firewall et que Norton me bloque toute intrusion en me demandant si j' accepte la liaison :(

signaler à un administrateur
Commentaire de MAURICIO le 21/10/2005 12:39:26

Je viens d' avoir une autre idée?!
Peux tu mettre avant de montrer cette fenêtre principale, une fenêtre de login?

signaler à un administrateur
Commentaire de MAURICIO le 21/10/2005 16:30:52

Merci Florenth,
mais le problème est justement de savoir quel est mon IP.
Je suppose que ce n' est pas le meme que ds mon réseau local ...

signaler à un administrateur
Commentaire de MAURICIO le 21/10/2005 16:37:35

Donc, se serait ça :

http://monIP_TEMPORAIRE/127.0.0.1:1236/shutdown ???

signaler à un administrateur
Commentaire de MAURICIO le 21/10/2005 16:56:29

ok,
monIP_temporaire est l' IP de mon routeur, donc le même quel que soit le PC ds mon réseau!?

signaler à un administrateur
Commentaire de Joleroy le 21/10/2005 17:16:45

rend toi sur www.adresseip.com, qui t affichera ton ip internet.

signaler à un administrateur
Commentaire de MAURICIO le 21/10/2005 17:29:51

Ça ne marche pas  :(
D' ailleurs, Si j' ecrits seulement l' IP, je me retrouve ds le serveur WEB de mon routeur !!! Ça doit etre le firewall du routeur?

signaler à un administrateur
Commentaire de MAURICIO le 21/10/2005 17:38:40

Merci en tout cas pour tes explications, je te tiens au courant mais je dois laisser tomber pour le moment ...

signaler à un administrateur
Commentaire de Joleroy le 21/10/2005 17:44:32

normal, ton ip internet est acessible uniquement depuis une autre connection. essaye a partir de la connection d'un ami.

signaler à un administrateur
Commentaire de MAURICIO le 21/10/2005 17:46:54

Haaaaaaa...  !!!
ha??? je pense pas que tu aies raison mais je vais essayer ...

signaler à un administrateur
Commentaire de Joleroy le 21/10/2005 18:03:48

Si si, j' ai raison!!

signaler à un administrateur
Commentaire de elguevel le 24/10/2005 10:47:39

Oula ya eut plein de truc ecrit ici ...

Pour les composants Indy no soucy, mais faut que j'install Delphi 7 Entreprise chez moi, que je m'y mette et j'vous fait une mise a jour dès que possible.

Sinon je ne voit pas ton probleme MAURICIO, si tu veux eteindre ton serveur via internet de n'importe où il faut que tu indique l'IP de ton FAI (si elle est static tant mieux, sinon utilise un DynDNS), et que tu configure ton routeur pour qu'il NAT sur la machine où se trouve le programme.

Sinon pour l'utiliser en local tu est obligé d'utiliser l'adresse IP de ton reseau local. L'utilisation de ton IP internet, ne marchera pas en local.

Si tu comprend pas .. demande moi ce qui te gene !

Damien

signaler à un administrateur
Commentaire de MAURICIO le 24/10/2005 10:55:46

Mon problème n' est pas le fonctionnement en local mais le fonctionnement via internet...

->Ok, je sais que mon routeur a une IP.
->Ce que je sais pas faire est ceci:
"(si elle est static tant mieux, sinon utilise un DynDNS), et que tu configure ton routeur pour qu'il NAT sur la machine où se trouve le programme."

Sachant que mon IP est dynamique mais que mon routeur est toujours branché, peux-tu m' expliquer comment faire?

signaler à un administrateur
Commentaire de The_Diablange le 24/10/2005 12:15:37

lol florenth
Pour la redirection de dns je suis tt a fait d'accord avec toi mais pour la redirection par nat du port 80 tu va être confronté a un probleme si les autres ordinateurs de son réseau doivent acceder aussi a internet puisque toutes les requetes du port 80 ne leurs seront plus accessible (car redirigés vers le premier ordi). Et si l'on change de port, ce sera pareil, les autres ordinateurs n'auront plus acces à ce port
qu'en pense tu ?
As tu une solution a ce probleme?

signaler à un administrateur
Commentaire de MAURICIO le 24/10/2005 12:18:01

C' est exactement le cas malheureusement ...

signaler à un administrateur
Commentaire de Joleroy le 24/10/2005 12:30:00

Le routeur redirige les requettes ENTRANTE en non sortantes! J' ai un serveur http sur une de mes machines: le port 80 y est redirigé, et ca ne m' enpeche pas d' acceder a internet

signaler à un administrateur
Commentaire de The_Diablange le 24/10/2005 12:33:35

Bien sur que l'on peut utiliser un port ou qui a tres tres peu de chances d'être utilisé par les autres mais.... c'est la solution de facilité
Il y a normalement dans les propriétés de ton routeur, une option permettant lors d'une requete a ce routeur de pouvoir, a distance, choisir l'ordinateur a atteindre. Ne me demandez pas laquelle, je ne l'ai pas trouvé. Je posais justement le commentaire au cas ou quelqu'un saurait.
ce qui permettrait d'avoir un truc du genre  : http://dnsredir/192.168.1.50/lacommande
ou http://dnsredir/NomOrdiaAtteindre/lacommande
Voila, appel a tous ceux qui savent comment faire

signaler à un administrateur
Commentaire de elguevel le 24/10/2005 14:03:07

Oula je comprend pas trop vos manipulations mais bon deja si vous routez les requettes entrante sur le port 80 sur une machine local, cela ne vous empeche pas d'aller sur le net !

En gros quand tu va attaquer ton routeur (via l'IP qui ta été donné par ton FAI) sur le port 80, celui là normalement le bloque car il n'autorise pas par default que quelqu'un rentre chez toi.

Donc pour que la requette ENTRANTE aille jusqu'à une de tes machines en local (LAN) il faut naté, c'est à dire si qqn rentre par le port 80, il va falloir dire a ton routeur, tu autorise la requette a passé et à aller sur telle machine du  reseau.

Ta machine en question doit possédé une socket en ecoute sur le port 80 (le but de mon programme) biensur.

Pour configurer un routeur actuellement il suffit de se connecter dessus en passant par internet.
Pour çà tu lance ton navigateur, tu tape l'adresse entrante de ton routeur c'est soucent l'IP local se terminant par ".1" et le port entrant du routeur qui est différent de 80 pour evité les conflit avec internet ! ( moi pour mon TrendNet c'est 192.168.1.1:8080 par exemple).

Et des fois ta une fenetre de longin à l'entré, le login est le plus souvent "admin" et ya pas de mot de passe !

Pour en revenir a ton problème, il suffit juste de connaitre ton IP de FAI, si celle si est dynamique çà pose un probleme car elle change à chaque connection, pour celà tu doit allé sur un site genre (http://www.no-ip.com) pour associé ton ip à une adresse de DNS. comme çà quelque soit ton IP, le nom de DNS trouvera automatiquement ton IP (via un programme installé sur ta machine.. mais je sais plus vraiment comment çà marche).

Au faite MAURICIO, c'est quoi ton routeur ? et t'es chez qui comme FAI ?

Oula ... j'parle trop moi ...

++

signaler à un administrateur
Commentaire de MAURICIO le 24/10/2005 14:44:02

J' ai un Alcatel qui fait aussi de Firewall biensur.
Sachant que Norton bloque aussi les entrées ... on est pas couché!

Bref, j' ai bien compris où était le problème.

PS: c'est quoi ces initiales FAI  (fournisseur d' internet non?) ?

signaler à un administrateur
Commentaire de elguevel le 24/10/2005 16:07:37

Ton seul probleme va residé dans le faite de retrouver ton IP chez toi, sinon pour ton routeur Alcatel ta la notice ?

Et oui FAI çà veut bien dire "Fournisseur d'Acces Internet" ; C'est moin long à écrire c'est tout :-)

Sinon tu utilise Norton ? A moins que tu es une liscence ou que tu en soit très content, par pitié n'utilise pas çà :-s

Cordialement

Damien

signaler à un administrateur
Commentaire de The_Diablange le 24/10/2005 16:09:39

tous les routeurs ont un onglet ou un menu dans lequel il y a marqué son adresse ip actuelle sur le net, cé prévu pour !!!!

signaler à un administrateur
Commentaire de MAURICIO le 24/10/2005 16:22:15

Ok ok, mais Norton c' est pas nul !!!

signaler à un administrateur
Commentaire de elguevel le 24/10/2005 19:57:17

Ba mis à part mon experience avec cette AntiVirus... qui ne m'a jamais trouvé un Virus et me faisait ramer ma machine, le jour ou j'lai enlever et j'ai mis un utilitaire gratuit celui là m'en a trouvé plein.

Sinon on m'a souvent appeler pour me dire "ma machine est neuve mais elle rame affreusement", je vais sur place, je coupe Norton (sans arrière pensé pourtant) et miracle ... le PC tourne normalement !

Je vais pas te raconté ma vie mais personelement, si a l'epoque où j'avais mon 486 c'etait une reference, aujourd'hui je suis terriblement deçu de ses prestations.

Mais après tout si il marche bien chez toi, ba laisse le et tant mieux :-)

PS : Je faisait que donné mon avis :D

@+  et merci

Damien

signaler à un administrateur
Commentaire de MAURICIO le 25/10/2005 10:32:37

J' ai bien compris! Je n' ai pas dit qu' il n' est pas lourd, c' est une évidence, mais il reste pour moi le meilleur Antivirus ... Peut être que Kapersky est une meilleure option mais je ne l' ai pas encore essayé!

signaler à un administrateur
Commentaire de botelec le 08/06/2007 23:26:40

Bonsoir,
Très bon exemple Damien, Merci.

Si j'ai bien compris ce qu'expliquait, Joleroy, plus haut,
on ne peux tester cet exemple qu'en local sur http://Localhost ou http://127.0.1 ?
Sinon, il faut être sur une autre connexion internet...

Quelqu'un a-t-il pu tester cet exemple à distance par l'adresse Ip de la machine sur laquelle tourne l'aplication?


Merci.

signaler à un administrateur
Commentaire de elguevel le 21/06/2007 18:49:07

Désolé pour ma réponse tardive mais cette application est faite à la base avec une socket, elle est donc utilisable en local mais aussi via internet.

Pense juste à verfier ton pare feu et etablir les regles de routages necessaire (NATage) sur ton routeur.

signaler à un administrateur
Commentaire de hfr11 le 06/05/2008 14:15:01

Bonjour à tous,
Résolution d'IP dynamique :
1 - Faire comme expliqué au-dessus pour connaître (une fois seulement) l'IP de votre routeur
2 - Faire un "nslookup IPtrouvée...
3 - Le nom DNS que vous obtenez en retour, lui, ne change jamais pour votre routeur, c'est le repère de votre fournisseur d'accès pour vous atteindre ou vous contrôler.
4 - A chaque fois que vous voudrez connaître l'adresse de votre routeur, depuis l'intranet ou de l'extranet, il vous suffira de refaire un "nslookup LeNomDNSdeMonRouteur" et il vous sera retournée son adresse IP Publique...

Bonne continuation et bon courage à tous, a+, Patrice

Ajouter un commentaire

Discussions en rapport avec ce code source dans le forum

I need help! (serveur web+Base donnée) [ par metalimad ] bonjour à tous et à toutes,dans le cadre de mon stage, je dois développer une application web, qui consiste à rechercher des archives (stockées donc d Ouvrir un fichier a partir d'un serveur Web [ par MAsterC ] Allo, j'ai essayer pomal toute les façons de faire, mais le résultat a échoué. :(Je voudrais savoir comment fait-on pour ouvrir un Fichier Texte (à pa Piloter une Web-Cam [ par jockos ] Comment utliser une Web-Cam avec Delphi ?Quel composant est le mieux approprié à l'affichage d'un flux vidéo et comment gérer ce flux (avec quelles cl Execution d' une DLL ISAPI [ par Joleroy ] Je vais reposer ma question car je m' etait mal exprimé:J' ai creer une DLL ISAPI avec delphi 7:Fichier > Nouveau > Autres > Application serv Visualiser une requête HTTP [ par poufrin ] Je souhaiterais visualiser les requêtes qui arrivent sur mon serveur Web en direct.J'ai bien essayé de me connecter sur le serveur mais, &#2 controle d'un pc à distance [ par templeofboom ] bonjour je suis débutant en delphi et j'aimerais savoir si l'on peu peu prendre le controle d'une machine à distance lorsqu'on connait son a Comment faire un serveur web ? [ par Inergix ] Moi, j'aimerais savoir s'il est possible de créer un serveur web local (pour héberger mon site web) avec delphi ou avec dev-c++ ? Si ou Web service delphi 6 et windows 2003 server [ par abdouinf ] Bonjour à tous,j'ai developpé un service web en utilisant SOAP, lorsque je le publie sur un ordinateur executant windows XP ça marche t piloter des bases de données à distance sur un serveur via internet [ par paulgiot ] J'ai developpé plusieurs logiciels de gestion de base de données fonctionnant en réseau local. Je voudrais savoir si delphi permet de d WebBrowser piloter par DELPHI [ par yvessimon ] BonjourWebBrowser permet d'ouvrir une fenêtre d'un site web et avec les quelques exemples je peux passer d'une fenêtre à l'autre.Question : - comment


Nos sponsors

Sondage...

CalendriCode

Octobre 2008
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,33 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.