gpt4 book ai didi

python从 friend 那里接收数据

转载 作者:行者123 更新时间:2023-12-03 12:07:51 28 4
gpt4 key购买 nike

我对整个 shazam 很陌生,我有点困惑。我想让一台服务器在我的电脑上接收数据,而一个 friend 在他自己的电脑上发送数据。我的服务器的代码如下:

import socket

HOST = 'HOST'
PORT = PORT

with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s:
s.bind((HOST, PORT))
s.listen()
conn, addr = s.accept()
with conn:
print('Connected by', addr)
while True:
data = conn.recv(1024)
if not data:
break
conn.sendall(data)

我已经清除了主机 ip 和端口,但我不确定我应该使用哪个 tbh。客户端代码如下
import socket

HOST = 'HOST'
PORT = PORT

with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s:
s.connect((HOST, PORT))
s.sendall(b'Hello, world')
data = s.recv(1024)

print('Received', repr(data))

所以我的服务器只在我运行客户端时接收它,而不是我的 friend 。我的问题是我应该使用什么 IP 和端口?我在哪里可以找到这些数字?为什么它只在我运行客户端时才有效,我该如何解决这个问题?如果有人可以指导我获取有关此主题的一些资源,我不知道要搜索什么:(
提前致谢!

最佳答案

服务器应该绑定(bind)到它期望接收流量的任何接口(interface)的 IP 地址。如果它可能在多个接口(interface)上接收流量,您可以绑定(bind)到 0.0.0.0,这意味着“所有接口(interface)”。无论您决定使用什么 IP,都应该为服务器 HOST 值设置什么 IP。对于服务器端口,它可以是特定端口或任何端口(端口 0)。请注意,客户端需要知道服务器正在监听哪个端口。

客户端应连接到可公开访问的服务器的 IP 地址或主机名和端口。这实际上取决于网络设置。

我建议让您的客户端连接到与您的服务器相同的网络,然后重试。如果它不起作用,请确保您的服务器正在监听 0.0.0.0。

如果您在不同的网络上,则需要以某种方式桥接这些网络。

关于python从 friend 那里接收数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60665148/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com