Lenix Lenix -

ChatGPT对话为什么不用Websocket而使用EventSource?

在ChatGPT官网我们可以看到,对话的方式仅仅只有一个post请求,而没有使用IM中使用的websocket链接。 同时我们可以看到与普通的post请求不一样的是,返回信息Response没有了,取而代之的是EventStream。 那么这个EventStream是什么东西? 一通查证后,发现这个是Web API中的EventSource接口返回的数据。 MDN的官方描述是这样的(传送门): EventSource 接口是 web 内容与服务器发送事件 一个 EventSource 实例会对HTTP服务器开启一个持久化的连接,以 text/event-stream 格式发送事件,此连接会一直保持开启直到通过调用 EventSource.close() 关闭。 好家伙,还有这好东西。是我以前孤陋寡闻了。 经过一番对比,总结了一下 EventSource 和 Websocket… The post ChatGPT对话为什么不用Websocket而使用EventSource? first appeared on Lenix Blog.

ChatGPT官网使用EventSource进行对话,因为它适用于服务器向客户端推送事件,具有自动重连和错误处理机制,简单易用且广泛支持。WebSocket适用于实时双向通信和更复杂功能的场景,但需要服务器和客户端都支持。选择取决于具体需求和技术考虑。

ChatGPT EventSource WebSocket 对话 服务器

相关推荐 去reddit讨论