Précédent   Forum du club des développeurs et IT Pro > Autres langages > Python & Zope > Réseau/Web
Réseau/Web Forum d'entraide sur Python et le réseau/Web
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 03/01/2013, 20h26   #1
pierrot10
Débutant
 
Inscription : mai 2005
Messages : 2 080
Détails du profil
Informations personnelles :
Localisation : Suisse

Informations forums :
Inscription : mai 2005
Messages : 2 080
Points : 643
Points : 643
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!
pierrot10 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/01/2013, 21h30   #2
pierrot10
Débutant
 
Inscription : mai 2005
Messages : 2 080
Détails du profil
Informations personnelles :
Localisation : Suisse

Informations forums :
Inscription : mai 2005
Messages : 2 080
Points : 643
Points : 643
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!
pierrot10 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 21h06.


 
 
 
 
Partenaires

Hébergement Web