【问题标题】:error: [Errno 10061] No connection could be made because the target machine actively refused it错误:[Errno 10061] 由于目标机器主动拒绝,无法建立连接
【发布时间】:2011-10-25 15:08:11
【问题描述】:

我正在构建一个简单的客户端/服务器代码,但我不断收到此错误。我不明白为什么(我正在尝试习惯 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

【问题讨论】:

  • 嘿,你还在写accpet()而不是accept()
  • 我从你的代码中得到AttributeError: 'socket' object has no attribute 'accpet'
  • 解决了这个问题,我只是在上一个问题的基础上写了这个问题。有关于防火墙问题的建议,但是我关闭了所有安全程序
  • 修复“accept”后出现错误,如果您将客户端和服务器用作同一台机器并运行代码,则会出现错误。
  • 我不确定下一步该做什么。这是我第一次尝试服务器编程

标签: python


【解决方案1】:

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

【讨论】:

    【解决方案2】:

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

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

    【讨论】:

    • 是的,我正在运行诺顿并且有 Windows 防火墙
    • 这正是没有进程在该端口上侦听时发生的情况。
    • 有什么建议可以解决这个问题吗?
    • 我不确定下一步该做什么。这是我第一次尝试服务器编程
    【解决方案3】:

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

    【讨论】:

      【解决方案4】:

      试试这个:

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

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

      【讨论】:

        猜你喜欢
        • 2020-07-07
        • 2021-01-04
        • 1970-01-01
        • 2013-10-21
        • 2018-12-01
        • 2021-12-22
        • 2019-02-22
        • 1970-01-01
        • 2021-02-08
        相关资源
        最近更新 更多