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

Serveurs (Apache, IIS,...) Discussion :

Probleme avec l'acquisition des données dans un port dans le serveur


Sujet :

Serveurs (Apache, IIS,...)

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Septembre 2006
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 18
    Par défaut Probleme avec l'acquisition des données dans un port dans le serveur
    Salut tout le monde,
    bon j'ai un serveur chez moi, et j'ai instalé windows 2000 server+apach+php+sqlserver, j'ai installer mon premier site et tout marche bien, donc quand je tappe mon adresse www.monsite.com ya aucun probleme...
    mais après j'ai decider d'installer un autre site dans mon serveur!!

    ---Premier probleme:
    -c'est que je peux pas demarer deux sites dans deux ports differents!!!parceque mon premier site occupe le port 80, et l'autre occupe le port 23.deja le premier site c pour les visiteurs et l'autre je l'utilise pour acquerir des données a partir d'un GPS, et d'autres trucs...
    -donc comment configurer php dans mon serveur pour le dire d'ecouter dans deux ports differents???

    ---Deuxieme probleme:
    -et c'est le probleme principal!!c'est le GPS envoie des données au serveur dans le port 23 (deja le GPS est programmé pour envoyer des données chanque instant au serveur dans le port 23), et je veux recuperer ces données dans le port 23 dans mon serveur.
    pour cela j'ai essayer un code en utilisant dea fonctions (fsockopen(),fread()...), pour lire les données mais ça marche pas!!!
    et je ne sais pas si je ne peux pas acceder au port dans mon serveur ou bien les données ne sont pas envoyés par du GPS!!
    deja j'ai po bcp d'idées pour recuperer des données dans un flux dans un port precis
    et si quelqu'un ntre vous peu m'aider dans ce sujet, ça sera un tràs grand plaisir parceque deja c'est urgent et je peux pas avancer sans ces données :s:s:s

    Merci d'avance

  2. #2
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Par défaut
    Tes 2 questions sont liés en fait, façon l'oeuf et la poule. Lis la réponse à la première question puis tout de suite la réponse à la seconde question, sans passer par la case "implémentons ce que _Mac_ vient de nous dire".

    Citation Envoyé par soufian2290 Voir le message
    ---Premier probleme:
    -c'est que je peux pas demarer deux sites dans deux ports differents!!!parceque mon premier site occupe le port 80, et l'autre occupe le port 23.deja le premier site c pour les visiteurs et l'autre je l'utilise pour acquerir des données a partir d'un GPS, et d'autres trucs...
    -donc comment configurer php dans mon serveur pour le dire d'ecouter dans deux ports differents???
    Pas tout compris, mais bon... Tu veux utiliser Apache + PHP pour les 2 ports, c'est ça ? Dans ce cas, dans httpd.conf, il faut ajouter une directive Listen 23 (pour demande rà Apache d'écouter sur le port 23) en plus de la directive Listen 80 déjà existante. Ensuite, tu configures 2 virtual hosts pour "séparer les flux entrant sur les différents ports" et la configuration associée (comme le document root) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    NameVirtualHost *
    <VirtualHost *>
    ServerName www.monsite.com
    Port 80
    DocumentRoot dossier1
    ...
    </VirtualHost>
    
    <VirtualHost *>
    ServerName www.monsite.com
    Port 23
    DocumentRoot dossier2
    ...
    </VirtualHost>
    Citation Envoyé par soufian2290 Voir le message
    ---Deuxieme probleme:
    -et c'est le probleme principal!!c'est le GPS envoie des données au serveur dans le port 23 (deja le GPS est programmé pour envoyer des données chanque instant au serveur dans le port 23), et je veux recuperer ces données dans le port 23 dans mon serveur.
    pour cela j'ai essayer un code en utilisant dea fonctions (fsockopen(),fread()...), pour lire les données mais ça marche pas!!!
    et je ne sais pas si je ne peux pas acceder au port dans mon serveur ou bien les données ne sont pas envoyés par du GPS!!
    deja j'ai po bcp d'idées pour recuperer des données dans un flux dans un port precis
    Bon, tu confonds tout : si tu lis la doc de fsocketopen, tu t'aperçois que fsocketopen c'est pour que PHP se connecte sur une machine (doc PHP : "Initalise une connexion par socket à la ressource spécifiée par target."), pas pour demander à PHP d'écouter sur le port 23.

    Si tu fais ce que j'ai dit à ta première question, c'est Apache qui écoutera sur le port 23. Ce n'est pas forcément ce que tu veux : Apache parle HTTP, ce n'est pas forcément le protocole supporté par ton GPS. Donc, la première question à te poser, hors le port 23 qu'on connaît déjà, c'est quel est le protocole utilisé par le GPS ? Si c'est HTTP, c'est cool, fais ce que j'ai dit en 1 et tu seras presque arrivé au bout, restera plus qu'à écrire le script PHP qui interprète ce qu'envoie le GPS. Si ce n'est pas HTTP, là, t'es mal, c'est pas Apache qui pourra t'aider. Dans ce cas, ignore complètement ma réponse à la première question, et lance-toi dans l'écriture d'un vrai serveur en C++, C#, Java, voire PHP, mais sans t'aider d'Apache.

  3. #3
    Membre averti
    Inscrit en
    Septembre 2006
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 18
    Par défaut
    Bon pour la question des ports j'ai deja instalé deux instances Apach donc j'ai configurer un pour le port 23 et l'autre deja dans 80...
    mais ta solution est plus pratique et plus pro!!!

    Mais pour le GPS je l'ai deja programmer pour envoyer des données au port 23, donc dans chaque instant il se connecte a mon adresse ip fixe, et met les données dans le port 23.

    Et pour recuperer mes données j'ai deja utiliser pas mal de fonction mais toujours la chaine recuperée est vide!!!

    donc je me connecte par "fsockopen" ou "stream_socket_server"...et ensuite je lis les données par fgets ou fread mais après quand je visualise la chaine elle ne contiens aucune infos

    Et j'ai tester pas mal de fois et chercher beaucoup pour une solution...mais ça marche pas toujours!!!

    Et deja pour vous informer que le GPS envoie des données a mon portable a la demande car j'ai deja mis mon num portable dans la config du GPS, donc lors de la demande il m'envoie les infos demandées...

    Donc j'ai besoin que vous m'aidiez parceque vraiment je suis bloqué mnt

    Et merci _Mac_ pour ton aide et merci d'avance pour tout ceux qui vont m'aider par l'avenir .

  4. #4
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Par défaut
    Avant de bidouiller dans tous les sens, regarde le protocole utilisé par ton GPS pour envoyer des données : comme je le disais, utiliser Apache n'a de sens que si je GPS parle HTTP. S'il parle autre chose, laisse tomber Apache, il ne te servira à rien là dedans : si Apache ne comprends pas ce qu'on lui dit, il ne passera jamais l'info à PHP.

    Ce que tu peux faire pour vérifier que tu reçois bien des données de ton GPS sur le port 23, c'est arrêter le serveur Apache qui écoute sur le port 23 et écrire en PHP un vrai script PHP "standalone" à exécuter avec la commande PHP et qui ouvre un socket serveur sur le port 23 et qui écrit sur la console ce qu'il reçoit. Si tu vois des traces, c'est bon, fait évoluer ton script, sinon, y a un pb de communication entre ton GPS et ton serveur.

  5. #5
    Membre averti
    Inscrit en
    Septembre 2006
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 18
    Par défaut
    J'ai pas bien compris le dernier paragraphe...vous dites d'arreter apach et executer un script...mais je sais pas quel script...standalone...
    Veuillez m'expliquer SVP

  6. #6
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Par défaut
    Arrêter Apache, oui, pour libérer le port 23 et pouvoir démarrer un autre programme qui écoutera sur ce port.

    Cet autre programme, c'est par exemple un script PHP que tu écris et que tu lances avec la commande php (et pas un script PHP lancé par Apache, ce qui n'est pas possible puisqu'Apache sera arrêté). Standalone, c'était pour dire un script PHP qui n'est pas exécuté par Apache.

Discussions similaires

  1. Réponses: 3
    Dernier message: 17/09/2012, 23h04
  2. probleme avec l'enregistrement des donnée
    Par kroma23 dans le forum Bases de données
    Réponses: 3
    Dernier message: 17/08/2011, 17h13
  3. probleme avec la conversion des données
    Par tchimou dans le forum Bases de données
    Réponses: 5
    Dernier message: 12/06/2007, 12h02
  4. Réponses: 8
    Dernier message: 05/02/2007, 13h28

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