.NET Remoting:获取底层套接字?
我正在编写一个轻型远程处理应用程序,以帮助调试远程通信问题。该应用程序模仿了大型应用程序的大部分功能:
定期向 另一个对等应用程序,以及 定期验证心跳 已在一段时间内收到 阈值。
我们在大型应用程序中看到的是,心跳似乎下降了。一个对等点将在很长一段时间内看不到另一对等点的心跳,直到“死亡”的对等点重新启动。大型应用程序在所有其他方面都具有响应能力。我们认为这与网络设置有关。我们能够在本地重现该问题,并通过对测试环境进行一些配置更改来修复它。
为了帮助我们的客户诊断问题,迷你远程处理应用程序需要记录尽可能多的信息。
那么,有没有办法获取远程连接的底层套接字呢?我知道我可以为此编写一个自定义接收器,但我希望使实际的远程处理过程尽可能接近大型应用程序中实现的过程。
顺便说一句,你知道为什么这个大应用程序可能会“下降”心跳吗?
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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我不知道直接的答案,但作为达到它的一种方式。您可以使用反射来查看套接字类,或者从符号服务器获取该类。如果这仍然没有帮助,您可以随时将类复制/粘贴到您自己的命名空间中,这样您就可以公开您需要公开的任何内部结构......只是一个想法。
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.