Python 连接拒绝错误 : [Errno 61] Connection refused

标签 python sockets errno

我见过类似的问题,但我无法修复此错误。我和我的 friend 正在制作一个聊天程序,但我们不断收到错误 ConnectionRefusedError: [Errno 61] 连接被拒绝 顺便说一句,我们在不同的网络上。 这是我的服务器代码

import socket

def socket_create():
try:

    global host
    global port
    global s
    host = ''
    port = 9999
    s = socket.socket()

except socket.error as msg:
    print("Socket creation error" + str(msg))

#Wait for client, Connect socket and port
def socket_bind():
try:
    global host
    global port
    global s
    print("Binding socket to port: " + str(port)) 
    s.bind((host, port))
    s.listen(5)
except socket.error as msg:
    print("Socket binding error" + str(msg) + "\n" + "Retrying...")
    socket_bind

#Accept connections (Establishes connection with client) socket has to       be listining
def socket_accept():
   conn, address = s.accept()
   print("Connection is established |" + " IP:" + str(address[0]) + "|    port:" + str(address[1]))
chat_send(conn)


def chat_send(conn):
 while True:
    chat =input()
    if len(str.encode(chat)) > 0:
        conn.send(str.encode(chat))
        client_response = str(conn.recv(1024), "utf-8")
    print(client_response)
def main():
socket_create()
socket_bind()
socket_accept()

main()

还有我的客户端代码

import socket


#connects to server
s = socket.socket()
host = '127.0.0.1'
port = 9999
s.connect((host, port))

#gets chat
while True:
    data = s.recv(1024)
    print (data[:].decode("utf-8")) 
    chat = input()
    s.send(str.encode(chat))

最佳答案

这可能无法回答您原来的问题,但我遇到了这个错误,这只是因为我没有先启动服务器进程来在我选择测试的端口上监听本地主机 (127.0.0.1)。为了让客户端连接到本地主机,服务器必须监听本地主机。

关于Python 连接拒绝错误 : [Errno 61] Connection refused,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40814712/

相关文章:

java - 如何通过不断监听套接字来释放由Thread持有的互斥锁,该互斥锁永不松开

ios - 调用 `errno` 后测试 `strtol` 返回 "No such process"

c - 全局指针的段错误

javascript - 使用 Python 中的请求从 __doPostBack 下载文本文件

python - Kivy 和 android 共享首选项

java - 从 GPS 设备读取 NMEA 数据

c - 如果没有直接访问则包含 errno

python - 如何从 URL 列表中获取属性 ('innerHTML' ) - Selenium?

python - 制作共享对象时,无法使用针对未定义隐藏符号 `__dso_handle' 的重定位 R_X86_64_PC32

c# - 异步/等待和任务