Partage
  • Partager sur Facebook
  • Partager sur Twitter

.recvfrom() ne récupère aucun paquet.

    24 octobre 2023 à 15:35:34

    Bonjour,

    Je suis assez novice dans Python. Je développe actuellement un programme destiné à prendre le contrôle d'une camera en wifi.

    J'arrive à me connecter, et je peux déclencher l'envoi d'un flux vidéo sur un port UDP. Mais la définition recvfrom() ne récupère rien.

    import lumix_control as lc
    import cv2
    
    
    IP = "192.168.54.1"
    control = lc.CameraControl(IP) # IP  camera
    PORT=49152
    control.get_state()
    print(control.start_stream(PORT)) # Déclencher envoi flux UDP
    
    import socket
    
    
    sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
    
    
    sock.bind(('0.0.0.0', PORT))
    sock.settimeout(5)
    while True:
        try:
    
            data, addr = sock.recvfrom(32000)
    
            print(f"Reçu {len(data)} octets de {addr}")
        except socket.error:
            print("Erreur lors de la reception d'un paquet : ",socket.error)
            break
    
    
    sock.close()
    

    Sur WireShark, je vois bien les données transiter jusqu'au port que j'ai défini (avec .start_stream().

    J'ai testé d'envoyer des données en local et tout marche bien. C'est uniquement celles envoyé par la caméra qui ne sont pas vues pas Python.

    Avez-vous une idée de ce qui cloche ?

    -
    Edité par Mr_Chatouille 24 octobre 2023 à 15:36:57

    • Partager sur Facebook
    • Partager sur Twitter

    .recvfrom() ne récupère aucun paquet.

    × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
    × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
    • Editeur
    • Markdown