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

Réseau/Web Python Discussion :

socket tcp non connecté


Sujet :

Réseau/Web Python

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2012
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2012
    Messages : 10
    Points : 10
    Points
    10
    Par défaut socket tcp non connecté
    Bonjour à tous,
    J'essai de faire un serveur et un client en python mais voila j'ai une erreur que je ne comprends pas en fait la socket du serveur est en mode connecté seulement apres la connexion et l'envoie d'un message du client sur le serveur lorsque je veux lire le message j'obtiens le message d'erreur suivant :
    Traceback (most recent call last):
    File "<pyshell#6>", line 1, in <module>
    sock.recv(2
    OSError: [WinError 10057] Une requête d’envoi ou de réception de données n’a pas été autorisée car le socket n’est pas connecté et (lors de l’envoi sur un socket datagramme en utilisant un appel sendto) aucune adresse n’a été fournie
    Savez-vous quel est le probleme ? voila le code du serveur et du client

    Code : 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
    # -*- coding:latin_1 -*-
    from RC4 import *
    from wep import *
    import socket
     
    class AP:
     
    	def __init__(self, ssid, key):
    		self.key = key
    		self.wep = WEP(self.key)
    		self.host = ssid
    		self.port = 12800
     
    		self.connexion_principale = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    		self.connexion_principale.bind(("localhost", self.port))
    		self.connexion_principale.listen(5)
    		print("le serveur est en attente de connexion")
    		self.connexion_avec_client, self.infos_connexion = self.connexion_principale.accept()
     
    	def setNewKey(self, newKey = None):
    		if newKey is not None :
    			self.key = newKey
    			self.wep.newSettings(self.key)
     
    	def sendMsg(self, msg):
    		text = b''
    		text += msg
    		sizeMsg = self.connexion_principale.send(self.wep.encrypt(text))
    		return sizeMsg
     
    	def recvMsg(self, size):
    		msg = self.connexion_principale.recv(size)
    		return self.wep.decrypt(msg)
    Code : 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
    # -*-coding: latin_1 -*
    from RC4 import *
    from wep import *
    import socket
     
    class client:
    	def __init___(self, key):
    		self.key = key
    		self.wep = WEP(self.key)
    		self.connexion_toServer = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    		self.connexion_toServer.connect(('localhost', 12800))
     
    	def sendMsg(self, msg):
    		text = b''
    		text += msg
    		sizeMsg = self.connexion_toServer.send(self.wep.encrypt(text))
    		return sizeMsg
     
    	def recvMsg(self, size):
    		msg = self.connexion_toServer.recv(size)
    		return self.wep.decrypt(msg)
     
    	def setNewKey(self, newKey = None):
    		if newKey is not None :
    			self.key = newKey
    			self.wep.newSettings(self.key)
    merci d'avance

  2. #2
    Expert éminent
    Avatar de tyrtamos
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2007
    Messages
    4 461
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2007
    Messages : 4 461
    Points : 9 248
    Points
    9 248
    Billets dans le blog
    6
    Par défaut
    Bonjour,

    Pour t'aider, ce serait mieux d'avoir un exemple simplifié qui a le problème, sans module non fourni avec Python (RC4, wep), et suffisamment complet pour qu'on puisse l'essayer chez soi.

    Sinon, un serveur fonctionne en principe en permanence en tâche de fond, avec une boucle écoute => traitement => réponse, et fonctionne jusqu'à ce qu'on le tue: je ne vois pas la boucle, ni comment tu le lances.

    Au cas où, j'avais fait un truc comme ça il y a un certain temps (j'espère que ça marche encore avec les Pythons récents): http://python.jpvweb.com/mesrecettes...rveur_tcp_mini.
    Un expert est une personne qui a fait toutes les erreurs qui peuvent être faites, dans un domaine étroit... (Niels Bohr)
    Mes recettes python: http://www.jpvweb.com

  3. #3
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2012
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2012
    Messages : 10
    Points : 10
    Points
    10
    Par défaut
    Salut tyrtamos,
    Merci pour le liens vers ton site, j'ai trouvé mon erreur elle se situait au niveau du sendMsg dans le serveur j'essayais d'envoyer sur la connexion principale au lieu du client :S. pour ce qui est du serveur c’était seulement un petit test pour vérifier que mes envois et réception crypté fonctionnaient bien =)

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Fonction connect socket TCP/IP
    Par Signal40 dans le forum C
    Réponses: 6
    Dernier message: 23/01/2013, 13h49
  2. [SOCKET] Client C connecté à un serveur Java
    Par missllyss dans le forum Développement
    Réponses: 2
    Dernier message: 07/06/2004, 13h14
  3. [SOCKET] TCP : select devant send();
    Par trois_1 dans le forum Développement
    Réponses: 4
    Dernier message: 02/03/2004, 18h10
  4. [socket][tcp] jeu en reseau
    Par souris_sonic dans le forum Développement
    Réponses: 2
    Dernier message: 30/05/2003, 07h31
  5. transfert d'un fichier bitmap en socket tcp
    Par localhost dans le forum C++Builder
    Réponses: 5
    Dernier message: 29/07/2002, 00h40

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