Mini serveur HTTP - Java - Programmation
Marsh Posté le 03-02-2004 à 15:51:01
Pour ta première question, oublie pas de fermer ton PrintWriter via pw.close()
Pour les autres, je sais pas trop
Marsh Posté le 03-02-2004 à 16:15:01
Manque des choses dans ton code
si tu veut essaye de te baser sur ce code la qui est déjà minimaliste
http://jfod.cnam.fr/csiml_b2/esiee [...] ttpd2.java
@+
Marsh Posté le 03-02-2004 à 16:33:46
Une remarque : Tu peux tester ton petit serveur en faisant un "telnet @detonserveur portdetonserveur" sous dos et en tapant les commandes telles quelles.
Marsh Posté le 03-02-2004 à 18:12:36
Taiche : si je ferme le printwriter, le browser refuse de charger la page (comme quand je ferme le socket)
therier : j'ai déja essayé, mais merci quand meme
Darklord : merci, je vais regarder ca.
Marsh Posté le 04-02-2004 à 10:19:53
Je suis pas forcément très réveillé, mais ça me semble normal pour l'histoire des blocages multiprocessus... tu fais un readLine dans le corps du main, donc il attend de traiter ta requete avant de réellement passer le socket au processus Page.
-> fais ton s = ss.accept(), puis directement new page(s).start(), et ton traitement avec le readline mets le dans le processus détaché...
Marsh Posté le 19-01-2009 à 09:14:04
Salut, j'ai egalement realise un server http multithread en java. Le code source peut peut etre t'aider.
Marsh Posté le 19-01-2009 à 09:18:07
joli , tu gagne un point pelle pour avoir déterrer un sujet de 2004
Marsh Posté le 19-01-2009 à 10:41:24
spam... C'est la mode ces temps
Marsh Posté le 03-02-2004 à 15:48:26
Salut,
J'ai un petit (mais alors tout petit) serveur HTTP en Java dont voici un bout de code:
et voici le code de la classe page :
Et j'ai quelques petits problèmes :
- si je ferme le socket apres l'envoi des données (ou meme le printWriter), le navigateur dit que le document est vide ("Document contains no data" sous Mozilla, erreur DNS sous IE) pourtant ca doit bouffer carrément en ressources
- de plus, bien que ce serveur soit multi processus, je ne peux pas consulter plusieurs fois la page en meme temps (temps de réponse infini, sauf si j'arrete un chargement, un autre se finit - tres louche!)
- et enfin, lors de la réception de la requete du navigateur, si je fait un while(str!=null) a la place de while(!str.equals("" )), br.readLine() rentre dans une boucle infinie a un moment donné.
Voila, beaucoup de problèmes pour ce tout petit bout de code quand meme!
Je remercie d'avance toutes les personnes m'aidant dans cette tache.
Message édité par yo c spi le 03-02-2004 à 15:49:12