gpt4 book ai didi

javascript - 服务器发送事件中的数据限制

转载 作者:可可西里 更新时间:2023-11-01 13:47:46 24 4
gpt4 key购买 nike

我正在使用服务器发送的事件来对您的数据库执行查询。服务器使用 stats 事件实时流式传输统计数据,当执行查询时,它会发送带有数据的 result 事件并关闭连接。

您可以使用此 curl 命令对其进行测试:

curl 'http://rakam-production-webapp-203653584.us-east-1.aws.getrakam.com/query/execute?read_key=l2drg09t1j04poki16q46nsa7qvjdjhsedcml0e9m8sd87h6olkevq8b7m3m6948&data=%7B%22query%22%3A%22SELECT%20*%20FROM%20collection.%5C%22pull_request%5C%22%22%2C%22limit%22%3A1000%7D' -H 'Accept: text/event-stream'

问题是数据超过几千字节,EventSource 不会触发 result 事件。

http://jsbin.com/jiteca/edit?html,output

如果数据不是那么大,它工作正常:

http://jsbin.com/leginu/edit?html,output

我试过 Chrome、Safari 和 Firefox,它们都遇到了这个问题。关于如何解决这个问题的任何想法?这是服务器发送事件的限制吗,因为我在 server-sent specification on W3 上没有找到任何东西?

最佳答案

我几乎可以肯定您的问题是服务器端的,而不是浏览器或它们对 SSE 的实现的问题。当我测试你的 curl 命令时,它在此时突然结束:

...null,null,null],["2016-08-30T14:08:03Z","MichMich",

(每次运行略有不同。)

不仅 JSON 格式错误,而且没有双 LF。我的猜测是您的 Web 服务器进程崩溃了,或者您的后端脚本崩溃了。看看日志?或者,如果不是崩溃,则说明某个缓冲区已满。 (该消息看起来刚刚超过 313,000 字节,这并没有敲响任何警钟。)

您没有为服务器端语言或网络服务器标记任何内容,因此除此之外很难猜测。

关于javascript - 服务器发送事件中的数据限制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39713820/

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