Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/327.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 错误:[Errno 10061]无法建立连接,因为目标计算机主动拒绝了它_Python - Fatal编程技术网

Python 错误:[Errno 10061]无法建立连接,因为目标计算机主动拒绝了它

Python 错误:[Errno 10061]无法建立连接,因为目标计算机主动拒绝了它,python,Python,我正在构建一个简单的客户机/服务器代码,我不断地遇到这个错误。我不明白为什么(我正在努力适应python)。这是我的密码: 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(AD

我正在构建一个简单的客户机/服务器代码,我不断地遇到这个错误。我不明白为什么(我正在努力适应python)。这是我的密码:

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()
服务器代码:

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()
客户端代码:

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()
我得到这个错误:

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()
error: [Errno 10061] No connection could be made because the target machine actively refused it

服务器端可能没有运行服务器进程(由于
accpet()
?)

表明远程计算机已收到您的连接请求,并发回拒绝(RST数据包)。我不认为这是远程机器没有进程监听该端口的情况(但我可能错了!)

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()

这听起来像是防火墙问题。它可能是远程计算机上的防火墙,或者是中间网络中的过滤器,或者可能是本地计算机上的过滤器—您是否在本地运行任何类型的安全软件?

首先运行服务器脚本—它将开始侦听
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()
然后打开客户端。。 或者--尝试更改端口 该错误仅表示“没有人在侦听”

请尝试以下操作:

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()
tcpclisock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

这几乎直接来自socket的文档页面,您可以在这里找到它

嘿,您仍然在编写
accpet()
,而不是
accept()
!我从你的代码中得到了
AttributeError:“socket”对象没有属性“accpet”
。修复了这个问题,我只是在上一个问题的基础上写了这个问题。有一个关于防火墙问题的建议,但是我关闭了所有的安全程序。我在修复“接受”后收到错误。如果您将客户端和服务器用作同一台机器并运行代码,您将收到错误。我不确定下一步该怎么办。这是我第一次尝试服务器编程是的,我正在运行Norton,并且有windows Firewall。这正是在没有进程侦听该端口时发生的情况。有没有关于如何解决此问题的建议?我不确定下一步该怎么办。这是我第一次尝试服务器编程
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()