【问题标题】:How to perform a GET request after a POST request with web-sockets如何在使用 web 套接字的 POST 请求后执行 GET 请求
【发布时间】:2021-02-23 06:33:14
【问题描述】:

我目前正在尝试使用 gin 为 Web 和移动应用程序构建一个 go API。我是 WebSockets 和 Go 世界的新手,所以我想知道在发出相关 POST 请求后如何触发来自客户端的 GET 请求,即:POST 请求包含用户的 ID,因此需要有关该信息的客户端用户已正确更新。目前,我有 POST 和 GET 请求,它们可以满足我的需要,但我对如何使用 WebSockets 使整个流程实时化有点迷茫。

【问题讨论】:

  • WebSockets 不是关于 GET 和 POST,它们是关于传输消息(即没有特定的请求+响应模式)。不能通过 WebSocket 进行 HTTP GET 和 POST。请注意,WebSocket 与套接字不同,它是 TCP 套接字之上的自己的协议。
  • @SteffenUllrich 抱歉,我对 websockets 和 sockets 的整体理解很薄弱。那么我将如何去完成我提到的目标呢?服务器发送的事件会是正确的解决方案吗?
  • 我真的不明白你在做什么。你说你已经有了 POST 和 GET 请求——那为什么不直接发送这些呢?而且 WebSocket 不提供“实时”,它们提供的只是不局限于经典的 HTTP 请求+响应模型,而是在此之外发送和接收消息。
  • 可以使用 SSE 或 Websockets。客户端从服务器接收消息并在收到指示更新可用的消息时发出获取请求。服务器维护一组由用户 ID 键入的客户端连接。收到用户 ID 的 POST 后,服务器会向该 ID 的所有客户端连接发送消息。
  • @CeriseLimón 我相信你有最接近我希望完成的方法。假设我有一个名为 check-in 的 POST 端点和一个名为参加者的 GET 端点,您建议在 POST 处理程序结束时,我向我希望的用户发送一个 SSE,并从客户端的那个事件触发器,向与会者执行 GET 请求 - 这是您的建议吗?

标签: go websocket gorilla


【解决方案1】:

我相信this example of server-sent-events 应该解决这个问题。调用 POST 处理程序后,通过通道向 GET 端点发送一个标志,然后通过那里发送一个事件。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-11-26
    • 1970-01-01
    • 2018-12-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-21
    相关资源
    最近更新 更多