.NET Remoting:获取底层套接字?

发布于 2024-09-06 06:05:10 字数 448 浏览 2 评论 0原文

我正在编写一个轻型远程处理应用程序,以帮助调试远程通信问题。该应用程序模仿了大型应用程序的大部分功能:

定期向 另一个对等应用程序,以及 定期验证心跳 已在一段时间内收到 阈值。

我们在大型应用程序中看到的是,心跳似乎下降了。一个对等点将在很长一段时间内看不到另一对等点的心跳,直到“死亡”的对等点重新启动。大型应用程序在所有其他方面都具有响应能力。我们认为这与网络设置有关。我们能够在本地重现该问题,并通过对测试环境进行一些配置更改来修复它。

为了帮助我们的客户诊断问题,迷你远程处理应用程序需要记录尽可能多的信息。

那么,有没有办法获取远程连接的底层套接字呢?我知道我可以为此编写一个自定义接收器,但我希望使实际的远程处理过程尽可能接近大型应用程序中实现的过程。

顺便说一句,你知道为什么这个大应用程序可能会“下降”心跳吗?

I'm writing a light remoting app to assist in debugging a problem with remoting communication. This app mimics much of what a larger application does:

Periodically sends a heartbeat to
another peer application, and
periodically verifies that a heartbeat
has been received within some time
threshold.

What we're seeing is in our big application, the heartbeats seem to get dropped. One peer will go for long periods of time without seeing heartbeats from another peer, until the peer that is "dead" is restarted. The big application is responsive in all other ways. We believe it has something to do with the network setup. We were able to repro the problem locally, and fixed it by making some configuration changes to our test environment.

To help our customer diagnose the issue, the mini-remoting app needs to log as much information as possible.

So, is there a way to get the underlying socket for the remoting connection? I'm aware that I could write a custom sink for this, but I'd like to keep the actual remoting process as close to what is implemented in the big app as possible.

Also as an aside, any ideas why the big-app might be "dropping" heartbeats?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

少钕鈤記 2024-09-13 06:05:10

我不知道直接的答案,但作为达到它的一种方式。您可以使用反射来查看套接字类,或者从符号服务器获取该类。如果这仍然没有帮助,您可以随时将类复制/粘贴到您自己的命名空间中,这样您就可以公开您需要公开的任何内部结构......只是一个想法。

I don't know the direct answer but as a way to get to it. can you use reflection to look into the sockets class, or get the class from a symbol server. If that still doesn't help, you could always copy/paste the class into you're own namespace so you can expose whatever internals you need to expose... Just a thought.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文