Mini serveur http

Soyez le premier à donner votre avis sur cette source.

Vue 11 836 fois - Téléchargée 1 996 fois

Description

Première source en java.

Il sagit d'un serveur HTTP qui permet au client d'avoir la possibilité de parcourir l'arborescence du dossier défini sur le serveur, d'en télécharger les fichiers.

Je crois que j'ai tout résumé en une phrase.

Pour se connecter au serveur rien de plus simple. Ouvrez votre navigateur et tapez dans la barre d'adresse :
http://ip-de-votre-serveur:port

Je crois que le port est 3809 mais vous pouvez mettre 80 c'est parce que Linux refuse d'écouter sur le port 80 tant qu'on est pas en mode superroot donc bon..

Cette application utilise les threads.

J'attends vos commentaires pour améliorer mon style d'écriture ,pour savoir si je respecte les conventions java, pour savoir quel bout de code peut être optimisé.

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

Bonjours svp juste une question concernant ce code la répertoire que le serveur va afficher son contenu commun vous l'avez indiquer le chemin.Merci d'avance
lamzali
Messages postés
1
Date d'inscription
samedi 24 octobre 2009
Statut
Membre
Dernière intervention
24 octobre 2009

merci continuer comme ça mon gas
cs_yvesyves
Messages postés
562
Date d'inscription
samedi 10 janvier 2004
Statut
Membre
Dernière intervention
11 octobre 2010

Bien vu ;) Je te remercie
Kotomine
Messages postés
112
Date d'inscription
lundi 29 juin 2009
Statut
Membre
Dernière intervention
5 novembre 2009

Fais attention tout de même, il y a un danger de concurrence dans on programme:
Si un client A se déconnecte (on suppose qu'il était connecté ) a un instant t, et qu'un client B
se connecte *au même moment*, que va t-il se passer ?

Imaginons que ton vectSocket soit comme il suit : [random clients] [client A]

*Dans le thread ListenServerSocket, on effectue vectSocket.add(B):

[randomclients] [client A] [client B]

On lance le client B avec le parametre n=2 ( vectSocket.getSize() -1 )

* Dans le thread du client A, on se déconnecte

[randomclients][client B]

* Imaginons qu'un client C se connecte à cet instant

[randomclients][client B] [client C]

* Dans le client B, on récupere avec l'instruction "s = vectSocket.get(n);" le socket 2, c'est à dire ... celui du client C !!!

C'est un scénario possible !

Je te conseille de te renseigner sur les mutex java (ou plutôt les synchronized)
Une autre solution consiste à passer dans ton ActionSocket le socket lui-même, et non un identifiant.
cs_yvesyves
Messages postés
562
Date d'inscription
samedi 10 janvier 2004
Statut
Membre
Dernière intervention
11 octobre 2010

Bien vu pour le bin.
C'est vrai que j'ai mis aucun commentaire, j'en suis désolé, j'en mettrai à l'avenir :s.
Merci en tt cas ;)

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.