gpt4 book ai didi

python - 试图在 python 中创建一个带有套接字的服务器

转载 作者:行者123 更新时间:2023-12-03 12:08:22 25 4
gpt4 key购买 nike

我正在尝试用 Python 制作一个聊天应用程序,但遇到了一些麻烦。
我创建了一个服务器,可以使用本地 IP 地址成功连接。但是,当我尝试使用我的公共(public) IP 地址在另一台设备上连接它时,似乎超时,没有发生错误,并且它一直在尝试连接。

编辑:我已经为我的 IPv4 地址设置了端口转发。并且客户端正在使用公共(public) IP。

服务器.py:

import socket

s = socket.socket()
host = socket.gethostbyname(socket.gethostname())
port = 2000
s.bind((host, port))
print("Server started, waiting for incoming connections")

s.listen(5)
connection, address = s.accept()

print("New connection from", address)

while True:
data = connection.recv(1024).decode()
print("received:", data)
ret = data + "+++++++"
connection.send(ret.encode())

客户端.py
import socket

s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
host = #my public ip address from whatsmyip.com
port = 2000
s.connect((host, port))
print("Connected.")

while True:
message = input("msg: ")
s.send(message.encode())
data = s.recv(1024).decode()
print(data)

最佳答案

那么,首先,您的服务器是否在与其他设备的网络中?如果您在那里有路由器,那么您在 whatsmyip.com 中看到的 IP 是路由器的 IP,而不是您计算机的 IP。所以你会试图连接到它。

您可以使用命令 netstat 进行检查。

关于python - 试图在 python 中创建一个带有套接字的服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51958326/

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