【问题标题】:Is it possible to know when an HTTP response arrived to the client, in the server? (ASP.NET)是否可以在服务器中知道 HTTP 响应何时到达客户端? (ASP.NET)
【发布时间】:2014-07-25 21:30:55
【问题描述】:

快速问题(是的,我先用谷歌搜索过,没有成功):我有一个 ASP.NET 简单的 Web 处理程序(那些 .ashx 文件),虽然我可以使用 context.Response.Write() 等,但我没有似乎没有找到一种方法来检测响应何时实际到达客户端。

有可能吗?与 TCP 协议同质的东西,您可以在其中知道包已成功发送。

提前致谢!

【问题讨论】:

    标签: c# asp.net web-services iis networking


    【解决方案1】:

    这是不可能的,因为到达确认是

    1. 总是延迟
    2. 永远不可靠(见Generals Problem

    由于 (2),假设网络可能有损,不可能在所有情况下都可靠地确定数据已到达。

    你或许可以设计出足够好的东西。让客户端发出第二个 HTTP 调用,让服务器知道第一个调用的结果到达。

    【讨论】:

      【解决方案2】:

      我认为 HTTP 不会处理请求/响应中公开的消息确认,并且我很确定在页面中的内置请求/响应对象中没有“开箱即用”的支持或控制器类。

      您可能想看的是一个 Web 套接字库,例如 SignalR 或 SocketIO,它们都允许双向通信,听起来更像您正在寻找的东西。

      【讨论】:

        猜你喜欢
        • 2022-01-07
        • 2020-05-24
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-12-08
        • 1970-01-01
        • 2019-02-14
        相关资源
        最近更新 更多