python - python套接字编程: error trying to connect to server

标签 python sockets tcp

我是python套接字编程的初学者,我必须从服务器向客户端发送一条消息。我有2个python IDLES,一个用于服务器,另一个用于客户端。我制作了没有错误的服务器文件,但是当我在客户端文件中创建连接套接字并尝试连接到服务器时,出现错误:

clientSocket.connect((servername,port))
ConnectionRefusedError: [WinError 10061] no connection could be made because the target machine actively refused it

我不知道该如何处理该错误,感谢您的指导。
先感谢您。
我的代码:

服务器:
from socket import *

port = 1234
serverSocket = socket(AF_INET,SOCK_STREAM)
serverSocket.bind(('',port))
serverSocket.listen()
print("Server has started")

data = "Network labs"
while True:
    connectionSocket , addr = serverSocket.accept()
    connectionSocket.send(data)
    connectionSocket.close()

客户:
from socket import *

port = 1234
servername = 'localhost'
clientSocket = socket(AF_INET,SOCK_STREAM)
clientSocket.connect((servername,port)) #this is where the error happens

最佳答案

我将逐步尝试了解问题的根源。
尝试确定问题出在哪里:

  • 编写一个示例,该示例可以在网上获得并且一定可以使用,然后您将知道问题出在您的代码中。
  • 尝试在不同的计算机或VM上使用相同的代码。如果能够在此工作,您将知道问题出在环境上。
  • 尝试查找有类似问题的人,通常您将不会是第一个。 -Errno 10061 : No connection could be made because the target machine actively refused it ( client - server )-看起来不错。
  • 查找服务器是否正常运行,在运行客户端之前检查是否有人在监听端口1234。 (使用netstat)

  • 几件事与主题无关,但会改善您的编码:
    1.不导入*,这只是一种容易发生名称冲突的方法。
    2.使用约定,它只是使所有内容更易于阅读。 https://www.python.org/dev/peps/pep-0008/

    当然,您可以忽略所有这些,这只是一个建议。

    关于python - python套接字编程: error trying to connect to server,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61990625/

    相关文章:

    python - Django - 按模型名称获取 ContentType 模型(通用关系)

    c++ - Windows 8 下未解析的套接字引用

    c - Unix TCP 端口扫描器

    Python 简单 first_name last_initial when last_name 可以为空

    Python flake8 py 错误地报告 W391(文件末尾没有换行符)

    python - 导入错误 : cannot import name 'set_random_seed' from 'tensorflow' (C:\Users\polon\Anaconda3\lib\site-packages\tensorflow\__init__. py)

    node.js - 通过 node.js 和套接字访问 mqtt 代理

    c# - 我可以强制我的网络套接字不使用 SSL 即使我的网站是在 SSL 下提供服务的吗?

    linux - 关于 INADDR_ANY 的问题

    java.net.ConnectException : Connection refused TCP