【问题标题】:Remote connection not working. Couldn't connect to server with python socket远程连接不起作用。无法使用 python 套接字连接到服务器
【发布时间】:2021-03-30 04:35:22
【问题描述】:

[WinError 10061] 和 [WinError 10060]。这些是我向朋友发送客户端应用程序时遇到的错误。远程它只是不起作用。在本地它工作正常。我可以一步一步得到完整的解释吗?因为我找不到任何解决方案,我很生气。

服务器:

import socket as s

HOST = 'ppp.ppp.p.ppp'
PORT = 33000

server_socket = s.socket(s.AF_INET, s.SOCK_STREAM)
server_socket.bind((HOST, PORT))
server_socket.listen()

while True:
    client_socket, address = server_socket.accept()
    print(f'Connected {address}')

客户:

import socket as s

HOST = 'ppp.ppp.p.ppp'
PORT = 33000

client_socket = s.socket(s.AF_INET, s.SOCK_STREAM)
client_socket.connect((HOST, PORT)) # here is error

PS:客户端收到错误而不是服务器

【问题讨论】:

    标签: python python-3.x sockets server


    【解决方案1】:

    欢迎来到 SO。您和您的朋友可能不在同一个网络上。因此,在发送连接请求时,您的路由器(或您的朋友)不知道将数据包中继到其网络中的正确设备。您需要做很多事情:

    • 确保该 IP 不是您的本地网络 IP,而是您的路由器的 IP。检查wahtismyip。使用它作为ip。请注意,ip 会经常更改。
    • 然后是困难的部分。您需要告诉您的路由器(或您的朋友,如果服务器在他的网络中)将到达端口 33000 的数据包中继到服务器。这因设备而异,请尝试谷歌搜索“端口转发”。

    希望这能解决您的问题。

    【讨论】:

    • 谢谢,我会在有空的时候检查一下(现在可能是星期一不能)。
    猜你喜欢
    • 2023-02-08
    • 2020-01-09
    • 1970-01-01
    • 2016-04-20
    • 1970-01-01
    • 2013-07-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多