2011-08-12 13 views
0

Je construisais un simple code client/serveur et je continue d'obtenir cette erreur. Je ne comprends pas pourquoi (j'essaie de m'habituer à python). voici mon code:erreur: [Errno 10061] Aucune connexion n'a pu être établie car la machine cible l'a activement refusée

Code Serveur:

import socket 
from socket import* 
from time import ctime 

HOST = '' 
PORT = 21567 
BUFSIZ = 1024 
ADDR =(HOST, PORT) 

tcpsersock = socket(AF_INET, SOCK_STREAM) 
tcpsersock.bind(ADDR) 
tcpsersock.listen(5) 

while True: 
    print("waiting for connection...") 
    tcpclisock, addr = tcpsersock.accpet() 
    print("...Connected from: "),addr 

    while True: 
     data = tcpclisock.recv(BUFSIZ) 
     if not data: 
      break 
     tcpclisock.send('[%s] %s' %(ctime(), data)) 

    tcpclisock.close() 
tcpsersock.close() 

Code client:

import socket 
from socket import* 
from time import ctime 

HOST = 'localhost' 
PORT = 21567 
BUFSIZ = 1024 
ADDR = (HOST, PORT) 

tcpclisock = socket(AF_INET, SOCK_STREAM) 
tcpclisock.connect(ADDR) 

while True: 
    data = raw_input('> ') 
    if not data: 
     break 
    tcpclisock.send(data) 
    data = tcpclisock.recv(BUFSIZ) 
    if not data: 
     break 
    print data 

tcpclisock.close() 

Je reçois cette erreur:

error: [Errno 10061] No connection could be made because the target machine actively refused it 
+1

hey, vous écrivez toujours 'accpet()' au lieu de 'accepter()'! – glglgl

+0

Je reçois 'AttributeError: l'objet 'socket' n'a pas d'attribut 'accpet' de votre code. – Tshepang

+0

Correction de cela, je viens d'écrire cette question en plus de la précédente. Il y avait une suggestion sur le problème de pare-feu, mais j'ai fermé tous les programmes de sécurité – Eyuel

Répondre

0

Probablement il n'y a pas de serveur processus en cours sur le se côté rver (dû à accpet()?)

0

Cela suggère que la machine distante a reçu votre demande de connexion et renvoyer un refus (un paquet RST). Je ne pense pas que ce soit un cas où la machine distante n'a tout simplement pas de processus d'écoute sur ce port (mais je peux me tromper!).

Cela ressemble à un problème de pare-feu. Il peut s'agir d'un pare-feu sur la machine distante ou d'un filtre sur le réseau, ou peut-être sur votre machine locale. Exécutez-vous un logiciel de sécurité local?

+0

Oui, je cours Norton et il y a le pare-feu de Windows – Eyuel

+1

C'est exactement ce qui se produit quand il n'y a aucun processus écoutant sur ce port. – hamstergene

+0

j'ai éteint les deux au large – Eyuel

0

première exécution du script serveur - qui commence à écouter puis ouvrez le client .. ou - essayer de changer le port l'erreur indique simplement « que personne ne l'écoute »

0

Essayez ceci:

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

C'est presque directement de la page documents pour socket que vous pouvez trouver ici socket

Questions connexes