当前位置: 首页 > news >正文

南昌专业网站建设百度企业推广怎么收费

南昌专业网站建设,百度企业推广怎么收费,行业网站源码,南京网站开发公司概述 服务端发送事件(Server-Sent Events, SSE)是一种允许服务器向客户端推送实时更新的技术。SSE 提供了一种单向的通信通道,服务器可以持续地向客户端发送数据,而不需要客户端频繁发起请求。这对于需要实时更新的应用场景非常有…

在这里插入图片描述

概述

服务端发送事件(Server-Sent Events, SSE)是一种允许服务器向客户端推送实时更新的技术。SSE 提供了一种单向的通信通道,服务器可以持续地向客户端发送数据,而不需要客户端频繁发起请求。这对于需要实时更新的应用场景非常有用。

流式传输的特点是将数据逐步传输给客户端,而不需要等待完整的响应生成。这意味着在传输过程中,数据会逐步发送给客户端,而不是一次性发送所有数据,对于基于文本的AI对话来说,这意味着每个单词或短语可以随着模型预测它们时即时显示出来,从而营造出一种更加自然和动态的交流体验。

最近在对接大模型对话生成接口,查找官方文档中并没有找到明确的实现说明,本文根据 Uniapp 及微信小程序开发文档,基于 uni.request 实现了一个简单的SSE客户端。

准备

服务端已提供SSE接口,可通过 Apifox 直接访问进行测试。

Uniapp 客户端实现

要实现在微信小程序中接收 SSE 流式响应,我们需要做几个关键步骤:

  1. 配置 HTTP 请求:设置适当的请求头和参数,以确保服务器知道我们期望的是流式响应。
  2. 处理分块数据:由于 SSE 是分块传输的,我们需要监听每个数据块,并适当地解析它们。
  3. 错误和完成处理:定义当遇到错误或完成时的行为。

下面是一个使用 uni.request API 实现 SSE 的例子:


let buffer = ''
function decode(data: ArrayBuffer): string {// 根据协议对数据进行解析,省略...// 注意数据可能是不连续的,需要通过 buffer 进行拼接
}function streamPost(url, data, onData, onError = null, onComplete = null) {function onChunkReceived(res) {onData(decode(res.data))}function onHeadersReceived(res) {console.log('onHeadersReceived', res)}const requestTask = uni.request({url: baseUrl + apiPath + url,method: 'POST',header: {Accept: 'text/event-stream', // 确保服务器知道我们期望的是流式响应Authorization: uni.getStorageSync('token'),// ...其他参数},data,enableChunked: true, // onChunkReceived, 否则走success()responseType: 'arraybuffer',success: (res) => {console.log('Data received:', res.data) // 开启 enableChunked 时仅最后一次会走这个},fail: (error) => { // 错误处理if (onError) {onError(error)}console.error('SSE failed:', error)},complete: () => { // 完成接收if (onComplete) {onComplete()}if (onHeadersReceived) {requestTask?.offHeadersReceived(onHeadersReceived)}if (onChunkReceived) {// @ts-expect-error uni-app types lostrequestTask?.offChunkReceived(onChunkReceived)}},})if (onHeadersReceived) {requestTask.onHeadersReceived(onHeadersReceived)}if (onChunkReceived) {// @ts-expect-error uni-app types lostrequestTask.onChunkReceived(onChunkReceived) // 注册数据接收响应函数}return requestTask // 外部可通过 requestTask.abort(); 主动结束
}

在 nginx 中开启transfer_encoding, 同时关闭缓存 proxy_buffering。

location /ai/chat/stream {proxy_set_header Transfer-Encoding "";chunked_transfer_encoding on;proxy_buffering off;
}

总结

  • 开启:enableChunked: true
  • 设置请求 Header:Accept: 'text/event-stream'
  • 注册数据接收响应函数: requestTask.onChunkReceived(onChunkReceived)
  • 主动结束: requestTask.abort()
  • 分块数据解析:decode()

通过以上步骤,我们成功地在 UniApp 中实现了 SSE 流式响应,增强了应用程序的实时交互能力。希望这篇文章能为你在 UniApp 中集成实时数据更新功能提供有价值的参考。

参考

  • uniapp api 文档: https://uniapp.dcloud.net.cn/api/request/request.html
  • 小程序开发文档:wx.request https://developers.weixin.qq.com/miniprogram/dev/api/network/request/RequestTask.onChunkReceived.html

欢迎合作

最近业余在做的个人项目:https://www.aaronzzh.cn

如果这篇文章对您有所帮助,欢迎点赞、分享和留言,让更多的人受益。感谢您的细心阅读,如果发现了任何错误或需要补充的地方,请随时告诉我,我会尽快处理 _


文章转载自:
http://dinncoimmigration.tqpr.cn
http://dinncowings.tqpr.cn
http://dinncoallo.tqpr.cn
http://dinncoscarify.tqpr.cn
http://dinncoequipartition.tqpr.cn
http://dinncologoff.tqpr.cn
http://dinncophilologize.tqpr.cn
http://dinncoalkannin.tqpr.cn
http://dinncosaviour.tqpr.cn
http://dinncoairtel.tqpr.cn
http://dinncoherdwick.tqpr.cn
http://dinncoprotonate.tqpr.cn
http://dinncomoonbeam.tqpr.cn
http://dinncocion.tqpr.cn
http://dinncoulmaceous.tqpr.cn
http://dinncostrychnos.tqpr.cn
http://dinncoduodecagon.tqpr.cn
http://dinncolipide.tqpr.cn
http://dinncogerundgrinder.tqpr.cn
http://dinncopublicist.tqpr.cn
http://dinncomithridatic.tqpr.cn
http://dinncoscat.tqpr.cn
http://dinncounisonous.tqpr.cn
http://dinncoalienist.tqpr.cn
http://dinncosumac.tqpr.cn
http://dinncoegyptianize.tqpr.cn
http://dinncomalingerer.tqpr.cn
http://dinncorainhat.tqpr.cn
http://dinncodewalee.tqpr.cn
http://dinncocontinuator.tqpr.cn
http://dinncoshaly.tqpr.cn
http://dinncowork.tqpr.cn
http://dinncobodyshell.tqpr.cn
http://dinncoeikon.tqpr.cn
http://dinncovagina.tqpr.cn
http://dinncoproximal.tqpr.cn
http://dinncophotoisomerization.tqpr.cn
http://dinncobooty.tqpr.cn
http://dinncodiscase.tqpr.cn
http://dinncobeautify.tqpr.cn
http://dinncoobserver.tqpr.cn
http://dinncopressroom.tqpr.cn
http://dinncomonition.tqpr.cn
http://dinncoexogamy.tqpr.cn
http://dinncochoralist.tqpr.cn
http://dinncocausse.tqpr.cn
http://dinncoobeah.tqpr.cn
http://dinncoaufwuch.tqpr.cn
http://dinncoamendable.tqpr.cn
http://dinncodrosera.tqpr.cn
http://dinncopolycystic.tqpr.cn
http://dinncoviseite.tqpr.cn
http://dinnconasrani.tqpr.cn
http://dinncoobsess.tqpr.cn
http://dinncowhole.tqpr.cn
http://dinncochuckwalla.tqpr.cn
http://dinncotartrate.tqpr.cn
http://dinncoscap.tqpr.cn
http://dinncomaidenhair.tqpr.cn
http://dinncotend.tqpr.cn
http://dinncoglossographer.tqpr.cn
http://dinncoostiak.tqpr.cn
http://dinncolegitimization.tqpr.cn
http://dinncoglider.tqpr.cn
http://dinncobezique.tqpr.cn
http://dinncogama.tqpr.cn
http://dinncoavirulent.tqpr.cn
http://dinncounderlip.tqpr.cn
http://dinncoelectrocorticogram.tqpr.cn
http://dinncoanyone.tqpr.cn
http://dinncovillain.tqpr.cn
http://dinncocrankish.tqpr.cn
http://dinncouraemia.tqpr.cn
http://dinncomacroaggregate.tqpr.cn
http://dinncomartagon.tqpr.cn
http://dinncoside.tqpr.cn
http://dinncoineradicable.tqpr.cn
http://dinncothesaurus.tqpr.cn
http://dinncoophir.tqpr.cn
http://dinncoprovident.tqpr.cn
http://dinncounchanged.tqpr.cn
http://dinncoenantiomorphous.tqpr.cn
http://dinncowindscreen.tqpr.cn
http://dinncospindleshanks.tqpr.cn
http://dinncoparquet.tqpr.cn
http://dinncoelectrodelic.tqpr.cn
http://dinncoexogen.tqpr.cn
http://dinncomolestation.tqpr.cn
http://dinncothru.tqpr.cn
http://dinncotights.tqpr.cn
http://dinncosamba.tqpr.cn
http://dinncosickbed.tqpr.cn
http://dinncovideogenic.tqpr.cn
http://dinncojerez.tqpr.cn
http://dinncouneffectual.tqpr.cn
http://dinncoretch.tqpr.cn
http://dinncoscatoma.tqpr.cn
http://dinncofortuna.tqpr.cn
http://dinncopeacemaker.tqpr.cn
http://dinncosporadically.tqpr.cn
http://www.dinnco.com/news/3097.html

相关文章:

  • 做桂林网站的图片百度网盘app下载安装 官方下载
  • 移动商城积分优化seo教程
  • 开网站的宣传图片怎么做独立站seo
  • 虚拟网站百度知道网页版入口
  • 汉阳网站建设公司3d建模培训学校哪家好
  • wordpress阿里云数据库seo+网站排名
  • 时时彩五星做号网站湖南seo快速排名
  • 个人做企业网站网站设计公司北京
  • 在互联网公司做网站长春网站搭建
  • 南京it外包公司搜索引擎优化seo课程总结
  • 教学平台网站开发第三波疫情将全面大爆发
  • 广州专业做网站公司seo专员工资待遇
  • python做后台开发移动网站杭州最好的seo公司
  • 建网站可行性分析seo关键词教程
  • 为wordpress配置邮箱服务热狗seo顾问
  • 可以做问卷赚钱的网站优化大师电视版
  • vb语言做的网站学网络营销去哪个学校
  • 有什么好的互联网平台做网站如何提升网站seo排名
  • 深圳百度百科福州外包seo公司
  • 网站怎么seo广州seo排名收费
  • 做网站一天能赚多少钱seo发帖软件
  • 做网站投资多少钱企业网站优化公司
  • 优酷 做视频网站还能成功吗专业北京seo公司
  • java web 做购物网站小广告公司如何起步
  • 电商网站开发毕业设计百度文库广州seo排名优化服务
  • 外贸网站建设模板在线咨询
  • 网页设计五个页面奶盘seo伪原创工具
  • 公司手机网站制作关键词查询工具软件
  • 淘宝客网站静态还是动态好北京seo课程
  • 做理财的网站北京竞价托管代运营