IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Java Discussion :

Tester mon serveur HTTP classe API Java


Sujet :

Java

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2012
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2012
    Messages : 12
    Points : 9
    Points
    9
    Par défaut Tester mon serveur HTTP classe API Java
    Bonsoir,

    Je vous explique je voudrais creer un petit serveur http en listening sur un port de mon choix afin de recevoir des informations de l'exterieur, seulement je ne veux absolument pas creer une application war celle-ci ne s'rait que bloquante et ne me permettrait de faire des actions que quand elle est sollicitee.

    Ci-dessous mon code :

    Code Java : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    public class Main {
     
    	public static void main(String[] args) {
    		// TODO Auto-generated method stub
    		MyServer server = new MyServer(4242);
    		server.setupConnection();
    	}
     
    }
     
    class MyHandler implements HttpHandler {
    	public void handle(HttpExchange t) throws IOException {
    		InputStream is = t.getRequestBody();
    		System.out.println(is.read());
    	}
    }
     
     
    class MyServer {
    	private int port;
    	private HttpServer server;
    	private LinkedBlockingQueue queue;
    	private ThreadPoolExecutor executor;
     
    	public MyServer(int port) {
    		this.port = port;
    		try {
    			server = HttpServer.create(new InetSocketAddress(port), 10);
    			queue = new LinkedBlockingQueue();
    			executor = new ThreadPoolExecutor(2, 10, 1, TimeUnit.MINUTES, queue);
    		} catch (IOException e) {
    			System.err.println(e);
    		}
    	}
     
    	public void setupConnection() {
    		server.createContext("xxxxx", new MyHandler());
    		server.setExecutor(executor);
    		server.start();
    	}
    }
     
    class Test {
    	public void testServer() {
    	}
    }

    Je rencontre un probleme avec le server.createContext("xxxxx", new MyHandler()), oui car celui ci m'oblige a entrer un path de fichiers xml ou autres et moi je ne recherche en fait qu'a afficher le contenu qui m'arrive sur le port, c'est deja problematique et logiquement lorsque je lance curl pour effectuer une requete de ce type, bien voici le resultat : <h1>404 Not Found</h1>No context found for request, resultat logique.

    Mon objectif pour le moment que n'etant que d'afficher des notifications que je vais recevoir, et apparemment ces notifications utilisent le proto Http donc je suis oblige d'utiliser le protocole http

    pourtant en creeant une simple serverSocket de l'api Java cela fonctionne tres bien quand je fais des tests avec telnet mais je ne recois pas les notifications qqun pourrait il m'orienter.

    Merci Beaucoup.

  2. #2
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2012
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2012
    Messages : 12
    Points : 9
    Points
    9
    Par défaut
    Bonjour,

    Je voudrais ecouter sur un port seulement et traiter des requetes Post ou Get, ca n'a rien a voir avec laffichage de page web ou autres. Qqun peut il m'orienter please, je ne veux pas creer d'appli web et je ne veux pas a avoir a installer un serveur tomcat, ce n'est pas mon but

  3. #3
    Modérateur
    Avatar de wax78
    Homme Profil pro
    Chef programmeur
    Inscrit en
    Août 2006
    Messages
    4 075
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chef programmeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2006
    Messages : 4 075
    Points : 7 980
    Points
    7 980
    Par défaut
    Si tu changes ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    server.createContext("xxxxx", new MyHandler());
    par ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    server.createContext("/", new MyHandler());
    Et que tu lances le serveur, puis utiliiser ton browser avec comme URL http://localhost:4242/ alors tu verras que ton HttpHandler réagit.

    Après j'ai pas bien compris ce que tu voulais faire entres nous.
    (Les "ça ne marche pas", même écrits sans faute(s), vous porteront discrédit ad vitam æternam et malheur pendant 7 ans)

    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

Discussions similaires

  1. Comment tester mon serveur Java ?
    Par Daryan dans le forum Tomcat et TomEE
    Réponses: 2
    Dernier message: 07/11/2013, 20h10
  2. Tester mon petit program (TEmbeddedWB + Applet Java)
    Par Bruno13 dans le forum Composants VCL
    Réponses: 1
    Dernier message: 02/12/2010, 09h06
  3. Probleme avec la recherche directe de methodes sur une Class (API java.lang.reflect)
    Par CyberChouan dans le forum API standards et tierces
    Réponses: 14
    Dernier message: 25/01/2007, 17h12
  4. [API Java] Tester un format
    Par YokoSop dans le forum API standards et tierces
    Réponses: 3
    Dernier message: 19/05/2006, 16h51
  5. Tester un serveur HTTP et un FTP
    Par fmcvieira dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 29/11/2005, 21h51

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo