簡體   English   中英

使用 socket python 連接不同網絡上的兩台計算機

[英]Connect two computers on different networks using socket python

我正在嘗試使用套接字庫連接不同網絡中的兩台計算機。 第一次嘗試時,我嘗試連接同一網絡中的兩台計算機,並且成功了。 然后我嘗試將我朋友的電腦連接到不同網絡的我的電腦,進行各種嘗試和各種搜索 兩台電腦都無法連接,我禁用了服務器(我的電腦)和客戶端(我朋友的電腦)的防火牆,但沒有,他們不連接。 下面是客戶端和服務器的源代碼。 我做錯了什么? 服務端源碼:

import socket
host = socket.gethostbyname(socket.gethostname())
port = 9999

sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
sock.bind((host,port))
sock.listen(1)
print(f"Server's ip: {host}\n Server's port: {port}")
print(f"Waiting for incoming connections...")
client, addr = sock.accept()
print(f"{addr} connected")

客戶端代碼:

import socket

host = "192.168.1.XXX"

port = 9999

sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
sock.connect((host,port))
print("You are connected!")

一段時間后,python 出現此錯誤:

TimeoutError: [Errno 119] Connection timed out

好的,我解決了問題,我只需要從路由器設置中打開端口 9999。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM