Bonjour à tous et à toutes,
J'étais en train de suivre un tuto simple pour établir une connexion entre un serveur et un client avec socket, j'ai du un petit peu bidouiller le code parce que le tuto est en pyhton2 et qu'en python3 il faut encoder les messages. J'arrive à établir la connexion, les messages "codés en dur" s'envoient sans problèmes mais je n'arrive pas à envoyer les messages input().
Je reçois cette erreur :

Traceback (most recent call last):
File "/home/xxxxx/Bureau/Outilspy/msgClient.py", line 26, in <module>
mySocket.sendto(msgClient.encode(), HOST, PORT)
TypeError: an integer is required (got type str)

Que ce soit côté client ou côté serveur.
Voila mon code côté serveur :

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
34
35
36
37
38
39
40
41
42
import socket, sys
 
HOST = "192.168.212.175"
PORT = 50004
PORT = int(PORT)
mySocket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
 
 
try:
	mySocket.bind((HOST, PORT))
	print("connexion up")
except socket.error:
	print("La liaison du socket à l'adresse à échouée")
	sys.exit()
 
while 1:
	print("Serveur prêt et en attente d'une requête")
	mySocket.listen(5)
 
	connexion, adresse = mySocket.accept()
	print("Client connecté, IP => ", adresse[0] ,", port utilisé => ", adresse[1] ,".")
 
	connexion.send(b"Bienvenue sur le serveur Blahaj")
	msgClient = connexion.recv(1024)
	msgClient.decode()
	while 1:
		print("c>", msgClient)
		if msgClient.upper() == "FIN" or msgClient == " ":
			break
		msgServeur = input(b"S> ")
		connexion.sendto(msgServeur.encode(), HOST, PORT)
		msgClient = connexion.recv(1024)
		msgClient.decode()
 
	connexion.send(b"Au Revoir")
	print("Connexion interrompue.")
	connexion.close()
 
	ch = input("<R>ecommencer ou <T>erminer ?")
	if ch.upper == T:
		break
connexion.close()
Et voici mon code côté 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
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
import socket, sys
 
HOST = "192.168.212.175"
PORT = 50004
PORT = int(PORT)
 
mySocket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
 
try:
	mySocket.connect((HOST, PORT))
	print("Connexion up")
except socket.error:
	print("La connexion a échouée")
	sys.exit()
 
print("Connexion établit avec le serveur.")
 
msgServeur = mySocket.recv(1024)
msgServeur.decode()
while 1:
	if msgServeur.upper() == "FIN" or msgServeur.upper() == " ":
		break
 
	print("S> ", msgServeur)
	msgClient = input(b"C> ")
	mySocket.sendto(msgClient.encode(), HOST, PORT)
	msgServeur = mySocket.recv(1024)
	msgServeur.decode()
import socket, sys
 
HOST = "192.168.212.175"
PORT = 50004
PORT = int(PORT)
 
mySocket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
 
try:
	mySocket.connect((HOST, PORT))
	print("Connexion up")
except socket.error:
	print("La connexion a échouée")
	sys.exit()
 
print("Connexion établit avec le serveur.")
 
msgServeur = mySocket.recv(1024)
msgServeur.decode()
while 1:
	if msgServeur.upper() == "FIN" or msgServeur.upper() == " ":
		break
 
	print("S> ", msgServeur)
	msgClient = input(b"C> ")
	mySocket.sendto(msgClient.encode(), HOST, PORT)
	msgServeur = mySocket.recv(1024)
	msgServeur.decode()
 
print("connexion interrompue")
mySocket.close()
print("connexion interrompue")
mySocket.close()
Je comprend bien que c'est au niveau des sendto qu'il y a un problème mais je n'arrive pas à comprendre le pourquoi du comment.
Merci de votre aide ^^