gpt4 book ai didi

Heroku 中的 python 套接字服务器

转载 作者:行者123 更新时间:2023-12-05 07:11:52 37 4
gpt4 key购买 nike

我正在尝试使用 socket 模块将服务器部署到 heroku。当我查看来自 heroku 的日志时,服务器运行正常,问题是我无法与客户端连接到它,而且似乎有一个 IP 地址一直在连接到服务器。

Procfile: web: python Server.py

我搭建的服务器就是这个结构。

import socket
import os
from _thread import start_new_thread

PORT = int(os.environ(['PORT']))
HOST = '0.0.0.0'

s = socket.socket(socket.AF_INET,socket.SOCK_STREAM)

try:
s.bind((HOST, PORT))
except socket.error as e:
pass

s.listen(2)

def threaded_client(conn):
print(f'CONNECTED -> {conn}')
while True:
# some logic
pass



if __name__== '__main__':
while True:
conn, addr = s.accept()
start_new_thread(threaded_client, (conn,))

还有客户。

import socket


PORT = 80
HOST = 'https://my-heroku-app.herokuapp.com'

client = socket.socket(socket.AF_INET,socket.SOCK_STREAM)

client.connect((HOST,PORT))

我遇到了与 here 中提到的问题类似的问题

如有任何见解,我们将不胜感激。谢谢

最佳答案

你不能使用 heroku 来托管 tcp 服务器,你需要像 linode 这样的服务 https://www.linode.com/ , 或者 aws ,但是你可以使用 heroku 来托管一个 websocket 服务器,你可以使用 python websocket 客户端连接到它,就像这样

from websocket import create_connection
ws = create_connection("ws://myapp.herokuapp.com")
print("Sending 'Hello, World'...")
ws.send("Hello, World")
print("Sent")
print("Receiving...")
result = ws.recv()
print("Received '%s'" % result)
ws.close()

关于Heroku 中的 python 套接字服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60583950/

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