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

企业网站开发的目的wordpress 描述设为标题

企业网站开发的目的,wordpress 描述设为标题,公司网站虚假宣传但网站不是我做的,贵阳 网站建设Go语言实现SSE中转demo 文章概要#xff1a;本文主要通过一个demo来介绍如何使用Go语言实现SSE中转。 本文内容来自#xff1a;谷流仓AI - ai.guliucang.com 前提 已安装Go语言环境#xff08;参考这篇文章:Macbook安装Go以及镜像设置#xff09; 创建项目 创建项目目录…Go语言实现SSE中转demo 文章概要本文主要通过一个demo来介绍如何使用Go语言实现SSE中转。 本文内容来自谷流仓AI - ai.guliucang.com 前提 已安装Go语言环境参考这篇文章:Macbook安装Go以及镜像设置 创建项目 创建项目目录 mkdir go-app cd go-app初始化项目 # 后面的模块名自己定义 go mod init example/user/go-app创建文件 先看一下完成之后的目录结构 go-app/ ├─ go.mod ├─ http/ │ ├─ requests.go │ └─ responses.go └─ main.go然后每个文件的代码如下 main.go package mainimport (example/user/go-app/httpgithub.com/gin-gonic/ginlog )// 主函数初始化并启动 Gin 框架的 HTTP 服务器支持 /event-stream 的 POST 和 GET 请求。 func main() {// 创建一个用于传递事件的通道ch : make(chan string)// 初始化并配置默认的 Gin路由器router : gin.Default()// 设置 POST /event-stream 的处理函数用于处理 POST 请求router.POST(/event-stream, func(c *gin.Context) {http.HandleEventStreamPost(c, ch) // 处理 POST 请求的逻辑})// 设置 GET /event-stream 的处理函数用于处理 GET 请求router.GET(/event-stream, func(c *gin.Context) {http.HandleEventStreamGet(c, ch) // 处理 GET 请求的逻辑})// 启动 HTTP 服务器并监听端口 9990记录启动失败的错误日志log.Fatalf(error running HTTP server: %s\n, router.Run(:9990)) } 创建http目录并创建文件 requests.go package httpimport (errorsfmtgithub.com/gin-gonic/ginio )// EventStreamRequest 结构体定义了事件流请求的数据模型 type EventStreamRequest struct {Message string form:message json:message binding:required,max100 // 请求中必须提供的消息内容最大长度为100 }// HandleEventStreamPost 处理POST方法的事件流请求 // c: Gin框架的上下文对象用于处理HTTP请求和响应 // ch: 用于事件流通信的通道将请求消息发送到此通道 func HandleEventStreamPost(c *gin.Context, ch chan string) {var request EventStreamRequest// 尝试绑定请求数据到EventStreamRequest结构体if err : c.ShouldBind(request); err ! nil {// 如果绑定失败生成错误响应并返回errorMessage : fmt.Sprintf(request validation error: %s, err.Error())BadRequestResponse(c, errors.New(errorMessage))return}// 将请求消息发送到通道ch - request.Message// 创建成功响应并返回CreatedResponse(c, request.Message)return }// HandleEventStreamGet 处理获取事件流的请求。 // c: Gin框架的上下文对象用于处理HTTP请求和响应。 // ch: 一个字符串类型的通道用于向客户端发送事件消息。 func HandleEventStreamGet(c *gin.Context, ch chan string) {// 使用Stream方法来建立一个服务器端事件流不断检查通道中是否有新消息。c.Stream(func(w io.Writer) bool {// 如果通道中有消息通过SSEvent方法以message事件类型发送到客户端。if msg, ok : -ch; ok {c.SSEvent(message, msg)return true // 表示继续发送下一个事件}return false // 表示没有更多事件结束流})return } reponses.go package httpimport (github.com/gin-gonic/ginnet/http )// JSendFailResponse 定义了一个失败响应的结构体包含状态和数据字段 type JSendFailResponse[T any] struct {Status string json:status // 响应状态Data T json:data // 响应数据这里泛型T可以是任意类型 }// JSendSuccessResponse 定义了一个成功响应的结构体包含状态和可选的数据字段 type JSendSuccessResponse[T any] struct {Status string json:status // 响应状态Data T json:data,omitempty // 响应数据成功时可选 }// BadRequestResponse 用于处理Bad Request错误返回400状态码和错误信息 func BadRequestResponse(c *gin.Context, error error) {c.JSON(http.StatusBadRequest,JSendFailResponse[string]{Status: fail, // 设置响应状态为失败Data: error.Error(), // 将错误信息填入数据字段},)return }// CreatedResponse 用于处理创建资源的成功响应返回201状态码和创建的资源信息 func CreatedResponse[T interface{}](c *gin.Context, i *T) {c.JSON(http.StatusCreated,JSendSuccessResponse[T]{Status: success, // 设置响应状态为成功Data: *i, // 填入创建的资源信息},)return } 运行程序 启动项目 go run main.go开一个终端运行以下命令 监听数据 curl http://localhost:9990/event-stream打开另一个终端运行以下命令发送数据 curl -d {message:Hello, Event Stream!} -H Content-Type: application/json -X POST http://localhost:9990/event-stream观察第一个终端可以看到数据已经发送过来了 event:message data:Hello, Event Stream!
http://www.dnsts.com.cn/news/261499.html

相关文章:

  • 网页设计师都在什么网站上面找素材深圳龙华是低风险区吗
  • html5手机网站特效携手并进 合作共赢
  • 企业自助建站会展网站代码源码
  • 威远移动网站建设软文有哪些发布平台
  • 嘉兴类网站系统总部荆州网站建设多少钱
  • 建站公司见客户没话说策划公司组织结构图
  • 有空间站的国家百度推广营销怎么做
  • 龙岗门户南昌seo推广
  • 网站可以做音频线吗wordpress禁用新编辑器
  • 奉贤专业做网站企业网站seo
  • 常用网站名称大全深圳网站关键词排名推广
  • 网站wap设置网上商城公司网站建设方案
  • 快排做网站排名网站开发专业术语
  • 我想弄个自己的卖货网站怎样做软件项目管理总结
  • 网站中搜索栏怎么做嘉兴php网站开发
  • 建设项目前期收费查询网站企业网网站
  • 克拉玛依做网站白银市建设管理处网站
  • 有域名自己做网站吗关键词自动优化
  • 网站安全建设架构wordpress页面都在
  • 大型网站技术架构 pdf如何做外贸品牌网站建设
  • 王烨峰seo教程seo教程
  • wordpress访问子网站珠海网站建设推广公司
  • wordpress建站教程阿里云建设旅游服务类网站的可行性报告
  • 使用flashfxp上传网站重庆企业建站系统
  • 个人建站教程wordpress js 被改
  • 企业网站管理系统模板活动策划网站
  • 成都响应式网站建设手机报价网站大全
  • 钓鱼网站源码深圳市建设设计院网站
  • ftp怎么修改网站游戏推广员每天做什么
  • 如何设计好网站新手小白学编程