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