Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# .NET远程处理:获取底层套接字?_C#_Sockets_Remoting - Fatal编程技术网

C# .NET远程处理:获取底层套接字?

C# .NET远程处理:获取底层套接字?,c#,sockets,remoting,C#,Sockets,Remoting,我正在编写一个light remoting应用程序来帮助调试远程通信问题。该应用程序模仿了大型应用程序的许多功能: 周期性地将心跳发送到 另一个对等应用程序,以及 定期验证是否存在心跳 已在一段时间内收到 门槛 我们看到的是,在我们的大型应用程序中,心跳似乎下降了。一个对等点将持续很长时间而看不到另一个对等点的心跳,直到“死亡”的对等点重新启动。大型应用程序在所有其他方面都具有响应能力。我们认为这与网络设置有关。我们能够在本地重新编程这个问题,并通过对测试环境进行一些配置更改来修复它 为了帮助我

我正在编写一个light remoting应用程序来帮助调试远程通信问题。该应用程序模仿了大型应用程序的许多功能:

周期性地将心跳发送到 另一个对等应用程序,以及 定期验证是否存在心跳 已在一段时间内收到 门槛

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

为了帮助我们的客户诊断问题,mini-remoting应用程序需要记录尽可能多的信息

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


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

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

你确定心跳被“丢弃”的对等方确实在发送心跳吗?事实上,正如我们在中验证的那样,数据传输到了电线上——不。根据代码本身,它声称发送了心跳。