返回顶部
首页 > 资讯 > 移动开发 >Android okHttp-sse 实现chatgpt逐字逐句效果
  • 546
分享到

Android okHttp-sse 实现chatgpt逐字逐句效果

okhttp 2023-09-16 15:09:16 546人浏览 薄情痞子
摘要

1. 什么是SSE Server-Send Events 服务器发送事件,简称SSE。服务器主动向客户端推送消息,我们常见的有 websocket (SignalR) ,SSE 也是其中一种。     SSE 是HTML5规范的一部分,该规

1. 什么是SSE

Server-Send Events 服务器发送事件,简称SSE。服务器主动向客户端推送消息,我们常见的有 websocket (SignalR) ,SSE 也是其中一种。
    SSE 是HTML5规范的一部分,该规范非常简单,主要由两部分组成:第一部分是服务端与浏览器端的通讯协议(Http协议),第二部分是浏览器端可供javascript使用的EventSource对象。
    严格意义上来说,Http协议是无法做到服务器主动向浏览器发送协议,但是可以变通下,服务器向客户端发起一个声明,我下面发送的内容将是 text/event-stream 格式的,这个时候浏览器就知道了。响应文本内容是一个持续的数据流,每个数据流由不同的事件组成,并且每个事件可以有一个可选的标识符,不同事件内容之间只能通过回车符\r 和换行符\n来分隔,每个事件可以由多行组成。目前除了IE和Edge,其他浏览器均支持(注:摘自https://www.cnblogs.com/jesn/p/16267606.html

2. 使用方法

implementation 'com.squareup.okhttp3:okhttp:4.10.0' implementation 'com.squareup.okhttp3:okhttp-sse:4.11.0'
 val createFactory = EventSources.createFactory(okHttpClient)        val eventSourceListener = object : EventSourceListener() {            override fun onEvent(                eventSource: EventSource,                id: String?,                type: String?,                data: String            ) {                //事件接收                Logger.d(data)             }            override fun onFailure(eventSource: EventSource, t: Throwable?, response: Response?) {                super.onFailure(eventSource, t, response)            }        }createFactory.newEventSource(request, eventSourceListener)

请求头需要添加 

addHeader("Accept", "text/event-stream")

创建okHttpClient 

val builder = OkHttpClient.Builder()builder.retryOnConnectionFailure(true)builder.connectTimeout(5, TimeUnit.MINUTES)builder.readTimeout(5, TimeUnit.MINUTES)okHttpClient = builder.build()

来源地址:https://blog.csdn.net/u010036856/article/details/131390627

--结束END--

本文标题: Android okHttp-sse 实现chatgpt逐字逐句效果

本文链接: https://lsjlt.com/news/410075.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作