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