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

帮朋友免费做网站中国建设部官方网站鲁班奖

帮朋友免费做网站,中国建设部官方网站鲁班奖,WordPress不支持大数据,东莞专业网站推广需要多少钱SSE 调用 SSE(Sever-Sent Event),就是浏览器向服务器发送一个HTTP请求,保持长连接,服务器不断单向地向浏览器推送“信息”(message),这么做是为了节约网络资源,不用一直…

SSE 调用

SSE(Sever-Sent Event),就是浏览器向服务器发送一个HTTP请求,保持长连接,服务器不断单向地向浏览器推送“信息”(message),这么做是为了节约网络资源,不用一直发请求,建立新连接。

// 创建请求对象Request request = new Request.Builder().url(String.format(sseApi, seeId))
//                .post(requestBody) // 请求体
//                .addHeader("Authorization", "Bearer " + token).addHeader("Accept", "text/event-stream")
//                .addHeader("Content-Type", "text/event-stream;charset=UTF-8").addHeader("Connection", "keep-alive").build();OkHttpClient okHttpClient = new OkHttpClient.Builder().connectTimeout(10, TimeUnit.SECONDS)   // 建立连接的超时时间.readTimeout(30, TimeUnit.SECONDS)  // 建立连接后读取数据的超时时间.build();// 创建一个 CountDownLatch 对象,其初始计数为1,表示需要等待一个事件发生后才能继续执行。CountDownLatch eventLatch = new CountDownLatch(1);// 实例化EventSource,注册EventSource监听器 -- 创建一个用于处理服务器发送事件的实例,并定义处理事件的回调逻辑final String[] finalMessage = {""};RealEventSource realEventSource = new RealEventSource(request, new EventSourceListener() {@Overridepublic void onEvent(EventSource eventSource, String id, String type, String data) {if ("finish".equals(type)) {    // 消息类型,add 增量,finish 结束,error 错误,interrupted 中断eventLatch.countDown();finalMessage[0] = data;
//                    log.info(data);   // 请求到的数据}}@Overridepublic void onFailure(EventSource eventSource, Throwable t, Response response) {t.printStackTrace();}});// 与服务器建立连接realEventSource.connect(okHttpClient);// await() 方法被调用来阻塞当前线程,直到 CountDownLatch 的计数变为0。eventLatch.await();return finalMessage[0];

异步调用

根据文档描述,首先得通过异步 POST 请求获得 task_id ,再根据 task_id 发送 GET 请求获得最终结果

// TODO 设置请求参数,同 SSE 调用// 开启 Http 客户端
OkHttpClient okHttpClient = new OkHttpClient();// 创建请求体
MediaType json = MediaType.parse("application/json; charset=utf-8");
RequestBody requestBody = RequestBody.create(json, requestParam.toString());// 第一步:发送异步请求(POST)获取 task_id,并存放到 taskIdFuture 中
CompletableFuture<String> taskIdFuture = new CompletableFuture<>();Request requestForTaskId = new Request.Builder().url("https://open.bigmodel.cn/api/paas/v3/model-api/chatglm_turbo/async-invoke").post(requestBody).addHeader("Authorization", "Bearer " + token).build();// 创建一个新的异步 HTTP 请求,并指定请求的回调函数
okHttpClient.newCall(requestForTaskId).enqueue(new Callback() {// 在请求成功并返回响应时被调用@Overridepublic void onResponse(Call call, Response response) throws IOException {if (response.isSuccessful()) {String responseBody = response.body().string();System.out.println("requestForTaskId: " + responseBody);// 解析 JSON 响应获取 task_idJSONObject jsonObject = JSON.parseObject(responseBody);String taskId = jsonObject.getJSONObject("data").getString("task_id");// 将结果设置到 CompletableFuturetaskIdFuture.complete(taskId);} else {taskIdFuture.completeExceptionally(new Exception("Request for task_id failed"));}}// 在请求失败时被调用@Overridepublic void onFailure(Call call, IOException e) {taskIdFuture.completeExceptionally(e);}
});// 阻塞主线程,等待 CompletableFuture 的结果,设置了最大等待时间
String taskId = taskIdFuture.get(10, TimeUnit.SECONDS);
System.out.println("Task ID: " + taskId);// TODO 第二步,使用 task_id 发送同步请求(GET)获取最终响应结果(和第四节基本一样)

同步调用

// TODO 设置请求参数,同 SSE 调用// 开启 Http 客户端
OkHttpClient client = new OkHttpClient();// 创建请求体
MediaType json = MediaType.parse("application/json; charset=utf-8");
RequestBody requestBody = RequestBody.create(json, requestParam.toString());// 创建请求对象
Request request = new Request.Builder().url("https://open.bigmodel.cn/api/paas/v3/model-api/chatglm_turbo/invoke").post(requestBody) .addHeader("Authorization", "Bearer " + token).build();// 发送请求
Response response = client.newCall(request).execute();// 处理响应
if (response.isSuccessful()) {String responseBody = response.body().string();System.out.println("Response: " + responseBody);
} else {System.out.println("Request failed: " + response.code() + " " + response.message());
}
http://www.yayakq.cn/news/99104/

相关文章:

  • 网站营销方式佛山网站建设哪个好点
  • 企查查网站客户评价网站建设
  • 大型网站seo方案网络加盟
  • 北京网站备案拍照地址鼓楼如何注册公司邮箱帐号
  • 网站空间哪里便宜app专业定制开发
  • 网站域名怎么写wordpress wap
  • 淮南医院网站建设行业门户网站有哪些
  • 出口家具东莞网站建设学做网站要什么基础
  • 娄底网站建设wyo8娄底网站建设企业
  • 网站建设背景图片vr功能网站建设
  • 天猫网站左侧菜单向右滑出的导航菜单服装如何做微商城网站建设
  • 使用云主机做网站教程菏泽住房与城乡建设官网
  • 安徽合肥网站制作公司磁力屋torrentkitty
  • dkp网站开发成都app开发制作
  • 用电信固定IP做网站做网站上传照片的尺寸
  • phpcms 手机网站模板广西建设厅办事大厅网站
  • 怎样做优惠券网站网页设计制作网站素材
  • 做体育设施工程公司的网站原创软文
  • w3c网站怎么做50个最火的创业小项目
  • node.js 网站开发 公司 广州手机体验网站
  • 好的网站收入北京软件开发工作室
  • 做外围的都上什么网站找网站体验方案
  • WordPress 古腾堡开发怎么做谷歌seo
  • 青岛市黄岛区网站建设检查wordpress主题
  • 西宁网站系统建设阜新网站优化
  • 吉安好的网站建设公司返回json数据的网站
  • 枞阳美好乡村建设办公窒网站优秀网站建设价格
  • 够物网站空间100m够不够从广州回来需要隔离吗?
  • 花店网站建设方案建设网站需要懂什么
  • 华为公司网站建设分析评价高端网站建设文案