python Flet 订阅广播无法正常收到对方消息,怎么解决?

作者站长头像
站长
· 阅读数 27

基于flet官方例子修改成异步的订阅后,只能收到发送方自己的消息,求助!

import flet as ft
import flet_fastapi

async def main(page: ft.Page):
    page.title = "Flet Chat"

    async def on_message_async(msg):
        messages.controls.append(ft.Text(msg))
        await page.update_async()

    await page.pubsub.subscribe_async(on_message_async)

    async def send_click(e):
        await page.pubsub.send_all_async(f"{message.value}")
        message.value = ""
        await page.update_async()

    messages = ft.Column()
    message = ft.TextField(hint_text="Your message...", expand=True)
    send = ft.ElevatedButton("Send", on_click=send_click)
    await page.add_async(messages, ft.Row(controls=[message, send]))

#ft.app(target=main, view=ft.AppView.WEB_BROWSER)
app = flet_fastapi.app(main) # You only get your own messages

使用 ft.app(target=main, view=ft.AppView.WEB_BROWSER) 正常,但无法部署到服务端。

回复
1个回答
avatar
test
2024-06-23

answer image已经联系作者,确认是框架的BUG。

回复
likes
适合作为回答的
  • 经过验证的有效解决办法
  • 自己的经验指引,对解决问题有帮助
  • 遵循 Markdown 语法排版,代码语义正确
不该作为回答的
  • 询问内容细节或回复楼层
  • 与题目无关的内容
  • “赞”“顶”“同问”“看手册”“解决了没”等毫无意义的内容