代码之家  ›  专栏  ›  技术社区  ›  Mathias

检测Windows上服务器端的RPC连接丢失

  •  3
  • Mathias  · 技术社区  · 17 年前

    有没有办法从服务器端检查RPC连接的状态?我正在寻找一种方法来检测来自客户端的连接是否丢失,无论是客户端崩溃还是其他连接问题。

    2 回复  |  直到 17 年前
        1
  •  4
  •   Maurice Flanagan    17 年前

    使用 Context Handles 用于管理特定客户端调用之间的服务器状态。RPC使用keep-alive来检测客户端断开连接,如果客户端断开连接,它将执行上下文句柄运行例程。

        2
  •  1
  •   Larry Osterman    17 年前

    莫·弗拉纳根的答案是最好的。更多的上下文。

    如果您使用的是绑定句柄,则无法跨RPC调用跟踪状态,“客户端断开连接”的概念基本上没有意义-您仍然需要从RPC调用返回。

    如果您使用的是上下文句柄,那么RPC运行库将在客户端断开连接时调用_rundown函数。

    当调用该例程时,服务器可以清理任何需要清理的内容。