Partage
  • Partager sur Facebook
  • Partager sur Twitter

Problème de communication socket en local.

11 juillet 2019 à 18:17:10

Bonjour, je suis incapable de communiquer avec 2 ordinateurs avec mon server et mon client en local mais quand je suis sur le même pc la communication se fait avec succès.Alors comment faire pour communiquer avec 2 pc différents.Les pc sont sur windows et j'utilise python3.6.Voici les programmes :

#serveur
import socket
import sys

s = socket.socket(socket.AF_INET,socket.SOCK_STREAM)

host,port = ('',40000)

s.bind((host,port))
print(f'[+]En attente d\'une connexion au port {port}')
s.listen(5)
co = s.accept()


while(True):
    msg = input('>')
    co[0].send(msg.encode('utf-8'))
    data = co[0].recv(1024).decode('utf-8','ignore')
    print(data)
#client
import socket
import sys

s = socket.socket(socket.AF_INET,socket.SOCK_STREAM)

host,port = ('localhost',40000)

s.connect((host,port))

while(True):
    data = s.recv(1024).decode("utf-8")
    print(data)

    s.sendall(b'ok')


Merci pour votre aide!

-
Edité par Baselin 11 juillet 2019 à 18:18:52

  • Partager sur Facebook
  • Partager sur Twitter
11 juillet 2019 à 20:31:18

Ton client essaye de se connecter au localhost, soit à la machine sur laquelle il est exécuté. Remplace localhost par l'adresse IP (sans doute locale) de ton autre machine.

-
Edité par BunshinKage 11 juillet 2019 à 20:31:46

  • Partager sur Facebook
  • Partager sur Twitter
12 juillet 2019 à 1:09:41

BunshinKage a écrit:

Ton client essaye de se connecter au localhost, soit à la machine sur laquelle il est exécuté. Remplace localhost par l'adresse IP (sans doute locale) de ton autre machine.

-
Edité par BunshinKage il y a environ 4 heures


J'ai déja éssayé et ça n'a pas marché.As-tu d'autres solution?
  • Partager sur Facebook
  • Partager sur Twitter
23 juillet 2019 à 16:09:33

Je n'ai pas eu de problèmes en testant ton code sur deux machines différentes en indiquant l'adresse IP de mon serveur à la place de localhost. Es-tu sûr d'avoir rentré la bonne adresse ? Es-tu capable, depuis ton client de faire un ping à destination de ton serveur ?
  • Partager sur Facebook
  • Partager sur Twitter
2 août 2019 à 23:21:39

BunshinKage a écrit:

Je n'ai pas eu de problèmes en testant ton code sur deux machines différentes en indiquant l'adresse IP de mon serveur à la place de localhost. Es-tu sûr d'avoir rentré la bonne adresse ? Es-tu capable, depuis ton client de faire un ping à destination de ton serveur ?


Oui, je suis sur d'avoir la bonne address et oui je peux faire un ping a mon serveur.
  • Partager sur Facebook
  • Partager sur Twitter
2 août 2019 à 23:38:32

Tu as une erreur en particulier sur l'une des deux consoles sur lesquelles tu lances le programme, que ce soit le client ou le serveur ?
  • Partager sur Facebook
  • Partager sur Twitter
3 août 2019 à 2:03:42

BunshinKage a écrit:

Tu as une erreur en particulier sur l'une des deux consoles sur lesquelles tu lances le programme, que ce soit le client ou le serveur ?


J'ai cette erreure :

Traceback (most recent call last):

  File "C:\Users\baselin\Desktop\pygame\test\socket\v.py", line 53, in <module>

    main()

  File "C:\Users\baselin\Desktop\pygame\test\socket\v.py", line 12, in main

    s.connect((host,port))

ConnectionRefusedError: [WinError 10061] Aucune connexion n’a pu être établie car l’ordinateur cible l’a expressément refusée

  • Partager sur Facebook
  • Partager sur Twitter
3 août 2019 à 12:11:41

Salut, cette erreur indiques que le port auquel tu essaies de te connecter est fermé. Plusieurs possibilités : soit tu as lancé le client avant le serveur, soit tu t'es trompé dans l'adresse ou le port. Peut être aussi que tu as un parfeu qui bloque les connexions.
  • Partager sur Facebook
  • Partager sur Twitter
3 août 2019 à 21:59:21

__Nicolas__ a écrit:

Salut, cette erreur indiques que le port auquel tu essaies de te connecter est fermé. Plusieurs possibilités : soit tu as lancé le client avant le serveur, soit tu t'es trompé dans l'adresse ou le port. Peut être aussi que tu as un parfeu qui bloque les connexions.


Je ne me suis pas trompé de port et d'address.
  • Partager sur Facebook
  • Partager sur Twitter
4 août 2019 à 16:03:57

Tu as vérifié les paramètres du pare-feu de la machine sur laquelle tourne le serveur ?
  • Partager sur Facebook
  • Partager sur Twitter
4 août 2019 à 17:49:33

BunshinKage a écrit:

Tu as vérifié les paramètres du pare-feu de la machine sur laquelle tourne le serveur ?


Non,comment on fait?
  • Partager sur Facebook
  • Partager sur Twitter
6 août 2019 à 16:22:00

Sous Windows, tu dois pouvoir désactiver le pare-feu en désactivant Windows Defender. C'est un peu brutal, mais ça permettra déjà de voir si le problème vient de là.
  • Partager sur Facebook
  • Partager sur Twitter
27 août 2019 à 16:01:14

BunshinKage a écrit:

Sous Windows, tu dois pouvoir désactiver le pare-feu en désactivant Windows Defender. C'est un peu brutal, mais ça permettra déjà de voir si le problème vient de là.


Sa a rien changer a mon probleme, je crois que c'est mort!

-
Edité par Baselin 27 août 2019 à 16:10:22

  • Partager sur Facebook
  • Partager sur Twitter
27 août 2019 à 18:34:40

Tu as mis quoi comme adresse IP pour la connexion ? Parce que si tu es en local, il faut utiliser les adresses locales (souvent en 192.168...) et pas l'adresse IP publique (pas celle qu'on trouve sur des sites type mon-ip.com).
  • Partager sur Facebook
  • Partager sur Twitter

Blond, bouclé, toujours le sourire aux lèvres...

27 août 2019 à 19:12:42

LoupSolitaire a écrit:

Tu as mis quoi comme adresse IP pour la connexion ? Parce que si tu es en local, il faut utiliser les adresses locales (souvent en 192.168...) et pas l'adresse IP publique (pas celle qu'on trouve sur des sites type mon-ip.com).


Mon addresse ip local
  • Partager sur Facebook
  • Partager sur Twitter