Code ou tuto pour un mini-mini serveur web ? - Java - Programmation
Marsh Posté le 07-04-2003 à 08:30:47
ben t'as qu'à te le faire à la main ... c'est pas très complexe ...
Marsh Posté le 07-04-2003 à 09:28:05
benou a écrit : ben t'as qu'à te le faire à la main ... c'est pas très complexe ... |
C'est pas une question de complexite, c'est juste que j'ai pas le temps de faire un truc qui lit une requete HTTP et qui en cree une correcte, et de debugger le truc (parce que j'ai jamais bosse avec HTTP, d'habitude je laisse ces taches bassement materielles a mon application server).
PS : merci pour ta reponse constructive quand meme
Marsh Posté le 07-04-2003 à 10:06:59
Gonzoïde > on a pas l'habitude de donner des bouts de code tout fait sur le forum. Il s'agit plutot de répondre, soit à un problème précis, soit un problème plus global. Mais bon là c'est un peu du genre je veux faire tel truc -> code.
->
le W3C a fait un web server en Java et open source qui s'appelle Jigsaw. Va faire un tour sur leur site et prends les sources. La soltion s'y trouve.
a+
Marsh Posté le 07-04-2003 à 10:19:34
DarkLord a écrit : Gonzoïde > on a pas l'habitude de donner des bouts de code tout fait sur le forum. Il s'agit plutot de répondre, soit à un problème précis, soit un problème plus global. Mais bon là c'est un peu du genre je veux faire tel truc -> code. |
Je me contenterais d'un pointeur vers un tuto, c'est juste que j'ai pas envie de me taper toute la spec HTTP pour un (tout) petit probleme bien delimite. Sachant que c'est pas pour torcher un TP mais bien pour une appli professionelle.
DarkLord a écrit : le W3C a fait un web server en Java et open source qui s'appelle Jigsaw. Va faire un tour sur leur site et prends les sources. La soltion s'y trouve. |
Ben je sais deja ca, mais le probleme c'est que 99% des fonctionnalites de jigsaw ne me servent a rien dans ce cas tres precis, une fois de plus ca me branche pas de me taper des milliers de lignes de code pour une toute petite fonction. Pareil pour les specs HTTP.
Ceci dit, c'est la qu'on voit qu'une politique arbitraire "on donne pas de bout de code" avoue ses limites ... le "t'as qu'a downloader ca, c'est open source" ou "t'as qu'a lire les specs du W3C" qu'on rabache a tout bout de champ, c'est precisement ce que parfois on veut eviter, non pas par paresse mais par manque de temps. A plus forte raison quand il est possible que quelqu'un connaisse deja la reponse a ce petit probleme.
PS : J'ai edite pour remplacer "code" par "tuto", mais la questionreste entiere
Marsh Posté le 07-04-2003 à 10:26:12
Bin le deal justement c'est que tu n'as absolument pas besoin de connaitre HTTP pour faire ce que tu veux faire
Pq ne pas faire une servlet au fait?
Marsh Posté le 07-04-2003 à 10:40:20
DarkLord a écrit : Bin le deal justement c'est que tu n'as absolument pas besoin de connaitre HTTP pour faire ce que tu veux faire |
Ben parce que justement, pour la premiere fois depuis longtemps je bosse pas sur un web/application server, mais sur une vraie appli Java, qui n'est pas du tout liee au monde web.
Donc faut bravement que j'ouvre une socket, etc etc (tout ca je sais faire), analyser le paquet HTTP qu'un browser m'envoie (pour extraire l'id de l'utilisateur), et construire une reponse en HTTP que le browser comprendra (a savoir : juste une image). Le probleme c'est qu'en bossant depuis des annees sur WebLogic, ben j'ai jamais eu a me soucier de la tronche des requetes HTTP.
Marsh Posté le 07-04-2003 à 10:52:18
Gonzoïde a écrit : |
attends tu dois faire une appli Java non-web qui répond à du HTTP? C'est démentiel ce truc ... Tu peux pas le coupler a un servlet container comme tomcat par exemple?
Parce que refaire une socket qui lit / parse / répond etc ca va etre loin d'etre facile et y aura pas de tuto pour t'expliquer un truc pareil il me semble
Marsh Posté le 07-04-2003 à 11:07:57
DarkLord a écrit : |
Ben c'est pas si dementiel que ca, vu que je veux pas reecrire un serveur web (heureusement), mais repondre a un type tres precis de requetes en voyeant tout le temps le meme type de reponse. Et comme l'appli est deja ecrite et qu'il faut un minimum de modifs, utiliser un servlet container y'a pas moyen. Faut que je me paluche la requete HTTP.
DarkLord a écrit : |
D'ou ma question
En fait ce qui me suffirait c'est des dumps de :
- qu'est ce qui passe sur le reseau quand un browser demande par exemple: http://monserveur.fr/check_user?userid=toto
- qu'est ce qui passe sur le reseau quand un serveur repond a une requete HTTP en ne revoyant qu'un JPG.
Description theorique ou exemple pratique, ca devrait aller ... comment choper ca ?
Marsh Posté le 07-04-2003 à 15:58:33
DarkLord a écrit : |
bha ...
si c'est un serveur web vraiment basique, c'est pas bien complexe ...
Marsh Posté le 07-04-2003 à 18:42:05
Gonzoïde a écrit : |
ben en meme temps, faire une servlet qui appelle ton "appli" ça va faire 15 lignes maxi hein...
et ce que tu veux faire, c'est bel et bien un serveur web. il ne gerera qu'un content-type mais il devra le gerer malgré tout donc à mon avis... le content-type c'est jamais qu'une ligne de texte dans la réponse qui indique au browser de quoi il s'agit.
'fin bon...
Marsh Posté le 07-04-2003 à 18:50:00
C'est pas du Java, mais le C# a une syntaxe suffisament proche du Java pour que tu puisses y trouver la réponse.
http://www.asp.net/Projects/Cassin [...] =0&tabid=1
Par contre, avec .NET, il y a des classes toutes faites pour faire des requêtes HTTP et des réponses HTTP, reste à espérer que cet exemple ne les utilise pas.
Marsh Posté le 08-04-2003 à 08:40:26
the real moins moins a écrit : ben en meme temps, faire une servlet qui appelle ton "appli" ça va faire 15 lignes maxi hein... |
c'est exactement mon avis
Marsh Posté le 08-04-2003 à 08:46:10
DarkLord a écrit : |
bha ouais mais ca doit pas êtres facile d'intégrer un truc du style tomcat dans una appli existante ...
Marsh Posté le 08-04-2003 à 10:16:46
the real moins moins a écrit : et ce que tu veux faire, c'est bel et bien un serveur web. il ne gerera qu'un content-type mais il devra le gerer malgré tout donc à mon avis... le content-type c'est jamais qu'une ligne de texte dans la réponse qui indique au browser de quoi il s'agit. |
Tout a fait d'accord, c'est bien un serveur web mais rien que "content-type" c'est du chinois pour moi ...
[EDIT] Je vais essayer avec un sniffer HTTP en demandant une JPG a un site quelconque, histoire de voir ce que le client envoie et recoit en retour ...
Marsh Posté le 08-04-2003 à 10:17:05
MagicBuzz a écrit : C'est pas du Java, mais le C# a une syntaxe suffisament proche du Java pour que tu puisses y trouver la réponse. |
Merci je vais jeter un oeil la-dessus.
Marsh Posté le 08-04-2003 à 10:33:23
Gonzoïde a écrit : |
RFC HTML !
Marsh Posté le 08-04-2003 à 11:53:32
benou a écrit : |
en l'occurence, ça doit etre l'inverse, intégrer un appel a une api d'appli dans une servlet...
Marsh Posté le 08-04-2003 à 11:54:20
Gonzoïde a écrit : |
ben, content-type tu devras le definir
justement si tu veux pas t'emmerder avec ça, une petite servlet et hop.
il me semble qu'il existe des moteurs de servlets plus leger (et moins complets) que tomcat
Marsh Posté le 08-04-2003 à 11:55:05
Petoulachi a écrit : |
toi je crois que tu ferais mieux de l'écraser avant que tout le forum te jette des cailloux
Marsh Posté le 08-04-2003 à 11:56:55
the real moins moins a écrit : toi je crois que tu ferais mieux de l'écraser avant que tout le forum te jette des cailloux |
Marsh Posté le 08-04-2003 à 11:57:21
the real moins moins a écrit : toi je crois que tu ferais mieux de l'écraser avant que tout le forum te jette des cailloux |
je peux commencer, dis ? dis ?
haaaaaaaaa, merci
Marsh Posté le 08-04-2003 à 11:57:44
gonzoide >> peut etre que ceci t'interessera:
http://www.acme.com/java/software/ [...] Serve.html
Marsh Posté le 08-04-2003 à 11:58:12
bah oui... dire des conneries, ok, mais les répeter avec des sarcasmes, c'est pas super malin
Marsh Posté le 08-04-2003 à 11:58:15
Petoulachi a écrit : |
Si t'avais suivi tu te rendrais compte qu'on parle de HTTP, pas de HTML ... j'avais aussi precise pour les eventuels boulets que si possible je voulais pas me taper les specs de l'integralite d'un protocole pour une fonction aussi triviale
Marsh Posté le 08-04-2003 à 11:58:49
t'as pas l'impression de confondre deux trucs qui, a part les 2 premieres lettres, n'ont pas grand chose en commun?
en plus je serais curieux de voir une RFC sur l'html tiens
Marsh Posté le 08-04-2003 à 11:59:21
the real moins moins a écrit : gonzoide >> peut etre que ceci t'interessera: |
Marsh Posté le 08-04-2003 à 13:00:18
the real moins moins a écrit : en l'occurence, ça doit etre l'inverse, intégrer un appel a une api d'appli dans une servlet... |
ouais mais tu te rend comptes des impactes que ca a sur son projet ???
Marsh Posté le 08-04-2003 à 13:01:23
benou a écrit : |
créer une servlet de 10 lignes?
Marsh Posté le 08-04-2003 à 13:05:01
En fait je crois qu'avec le sniffer HTTP je vais faire une requete similaire sur un serveur, voir ce que je lui envoie, extraire de ca le userid, et revoyer une JPG avec un en-tete HTTP hardcode comme un bourrin. Le tout dans un beau socket, 10 lignes de code, pas de lib externe et voilou
Marsh Posté le 08-04-2003 à 13:41:20
Gonzoïde a écrit : |
oups pardon, j'ai foutu html au lieu de http.
je suis vraiment navré vous les grands pontes de la programmation...
Bon bah c'est tres con, j'en ai fait un de serveur web en java (pour tester les multi thread, les join() et le system Hook) qui justement recevai et envoyer un ptit truc a la con au navigateur. J'me l'garde, t'as qu'a lire la rfc HTTP comme je l'avais fait.
A bon entendeur, salut.
Marsh Posté le 08-04-2003 à 13:47:21
ReplyMarsh Posté le 08-04-2003 à 13:49:06
Petoulachi a écrit : |
1/ URL?
2/ Si c'est vrai tu n'as rien à envier au pontes de la programmation comme tu dis
Y a qqch de pas cohérent (gamin?) dans ton post
Marsh Posté le 08-04-2003 à 13:59:31
DarkLord a écrit : |
pas d'url, c t un test en local (tp de license).
Sinon le gamin, je vois pas?
Vous etes toujours aussi aggressif par ici ?
Marsh Posté le 08-04-2003 à 14:11:09
ReplyMarsh Posté le 08-04-2003 à 14:12:45
Marsh Posté le 08-04-2003 à 14:14:48
ReplyMarsh Posté le 08-04-2003 à 14:22:11
Petoulachi a écrit : J'me l'garde, t'as qu'a lire la rfc HTTP comme je l'avais fait. |
Si c'est ca ta conception de l'entraide sur un forum (on est plutot la pour profiter de nos experience et galeres respectives), je me demande sincerement ce que tu fous la.
Que des nazes repondent "RFC", c'est deja triste, mais quand on lit "J'ai lu le RFC, j'ai la reponse a ta question mais je te la file pas parce que y'a pas de raison que t'en chie pas", c'est plutot affligeant. Juste pour info : t'as l'air de rechercher la gloire en nous parlant de ton truc, tu la trouveras plus facilement en aidant quelqu'un intelligemment qu'en faisant ton coq.
Marsh Posté le 08-04-2003 à 14:25:28
désolé, j'ai pas pour habitude de poster pour un truc dont je peux trouver la réponse, mais que je ne cherche pas par pure flemme.
J'ai pas non plus l'habitude d'aider les gens qui sont impolis, rentrent dans le lard à la premiere occasion.
Je suis un habitué des news, je viens ici de temps en temps, et je peux vous assurer que l'ambiance n'est pas la meme. (déjà, savoir ce servir des news et connaitre les bons groupes de discussion, ça épure pas mal).
Marsh Posté le 07-04-2003 à 00:09:28
Dans une appli serveur, je cherche a fournir une petite porte d'entree HTTP qui permettrait de connaitre des infos lisibles sur un browser web.
Par exemple, je voudrais faire comme pour ICQ : on se connecte au serveur ICQ avec une URL particuliere, qui renvoie juste un logo pour dire "offline" ou "online".
Ce qu'il me faudrait, c'est (un tuto vers) un bout de code qui interprete une requete HTTP rentrante, qui decode un parametre de l'url (userid a afficher), et qui renvoie en HTTP une gif qui signale l'etat de l'utilsateur. Bref, une version super basique d'un serveur web, et particulierement le decodage/codage de requetes HTTP (tout ce qui est reseau pur, c'est ok).
En cherchant sur Google j'ai trouve tout un tas de trucs, mais le plus souvent c'est des serveurs complets, des vraies usines a gaz par rapport a ce que je veux en faire ...
Message édité par Gonzoide le 07-04-2003 à 10:22:20