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

时间:2011-08-12 08:25:19

标签: python

我正在构建一个简单的客户端/服务器代码,我不断收到此错误。我不明白为什么(我想习惯python)。这是我的代码:

服务器代码

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

客户代码

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

4 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

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

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

答案 2 :(得分:0)

首先运行服务器脚本 - 开始监听 然后打开客户端.. 或 - 尝试更改端口 错误只是表明“没人在听”

答案 3 :(得分:0)

试试这个:

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

这几乎可以直接来自套接字的文档页面,您可以在此处找到socket