Publicité
+ Répondre à la discussion
Affichage des résultats 1 à 2 sur 2
  1. #1
    Débutant
    Profil pro
    Inscrit en
    mai 2005
    Messages
    2 251
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : mai 2005
    Messages : 2 251
    Points : 642
    Points
    642

    Par défaut Comment tester le port 81

    Bonjour,

    Je travaille sur un prototype qui doit envoyer des données sur le port 81 de mon ubuntu. J'ai ouvert les port 80 et 81.

    J'aimerais savoir si mon code est correct, s'il écoute bien le port 81.

    Y a t il un moyen de simuler les donnéle envoyé sur le port 81, depuis un browser, ou autrement, de manière à ce que mon code me retourne des valeurs.

    Voci le code
    Code python :
    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
     
    // Comment puis-je vérifier que cet import fonctionne
    from twisted.internet.protocol import Factory, Protocol
    from twisted.internet import reactor
     
    import time
    import _mysql
    import pprint
     
    class SendContent(Protocol):
        def connectionMade(self):
            print 'Accepted connection'
        def dataReceived(self, data):
            date = time.time()
            values = data.split(',');
            if len(values) != 4:
                print 'Error: Bad Data'
     
            print "je ne "
            db = None;
            try:
                db = _mysql.connect('localhost', 'user','pw','gpsDB')
                db.query("INSERT INTO tracker (date, speed, lat, lng, course)" +
                    "VALUES ('" + str(date) + "', '" + str(values[0]) + "', '" + 
                    str(values[1]) + "', '" + str(values[2]) + "', '" + str(values[3]) + "')")
                print "---------------------"
                print "| Data Logged       |"
                print "---------------------"
                print "Speed: " + values[0]
                print "Latitude: " + values[1]
                print "Longitude: " + values[2]
                print "Course: " + values[3]
            except _mysql.Error, e:
                print "Error %d: %s" % (e.args[0], e.args[1])
            finally:
                if db: 
                    db.close()
    class SendContentFactory(Factory):
        protocol = SendContent
    reactor.listenTCP(81, SendContentFactory())
    reactor.run()
    print "end"

    Par exemple, quand j'exécute ce code
    Code :
    1
    2
     
    sudo python tracker.py
    Il y a rien qui se passe. Le prompt ne m'est pas rendu et je dois faire "cdtl+c" pour arreter.
    Aussi, "je ne " et "end" ne s'affiche pas.
    Le code doit se bloquer a quelque part meme si je n'ai pas de message d'erreur, probablement parce qu'il attend des données venant du port 81.

    C'est pourquoi, je voulais savoir comment simuler l'arrivée de donnée au port 81, car mon propto n'est pas encore pret pour le faire.

    Milles mercis pour votre aide
    Il ne suffit pas de tout savoir. Vouloir et persévérer, c'est déjà presque tout!

  2. #2
    Débutant
    Profil pro
    Inscrit en
    mai 2005
    Messages
    2 251
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : mai 2005
    Messages : 2 251
    Points : 642
    Points
    642

    Par défaut

    Ok, j'ai trouvé une solution qui ne va pas
    Mais je pense que je m'y raproche.
    Du moins, si cette solution fonctionne, c'est que mon script n'écoute pas le port 81 et donc ne recupère pas les données.

    Pourriez-vous me donner votre avis sur ce script?
    (J'exécute ce script depuis mon Mac à la maison)
    Code python :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    import socket
     
    UDP_IP = "92.000.000.000"
    UDP_PORT = 81
    MESSAGE = "Hello,World,233.5,w"
     
    print "UDP target IP:", UDP_IP
    print "UDP target port:", UDP_PORT
    print "message:", MESSAGE
     
    sock = socket.socket(socket.AF_INET,socket.SOCK_DGRAM)
    sock.sendto(MESSAGE, (UDP_IP, UDP_PORT))
    Il ne suffit pas de tout savoir. Vouloir et persévérer, c'est déjà presque tout!

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •