C# 客户端/服务器连接问题

C# 客户端/服务器连接问题,c#,.net,client,remoting,C#,.net,Client,Remoting,我用C#编写了一个使用.Net远程处理的客户机/服务器模型。如果我将客户端连接到服务器,那么在服务器关闭时,在不尝试从客户端调用任何服务器方法的情况下杀死服务器并重新启动它,我可以愉快地重新连接 如果我关闭服务器,然后尝试从客户端ping服务器(我从一个单独的线程执行ping,以避免无休止的等待),那么当服务器重新联机时,客户端将永远无法与其通信,而在停机期间启动的ping线程将永远在远程处理库的内部等待。我尝试中止此操作(如果尝试加入线程在短时间后失败),但它不会中止。我想知道这是否是问题的一

我用C#编写了一个使用.Net远程处理的客户机/服务器模型。如果我将客户端连接到服务器,那么在服务器关闭时,在不尝试从客户端调用任何服务器方法的情况下杀死服务器并重新启动它,我可以愉快地重新连接

如果我关闭服务器,然后尝试从客户端ping服务器(我从一个单独的线程执行ping,以避免无休止的等待),那么当服务器重新联机时,客户端将永远无法与其通信,而在停机期间启动的ping线程将永远在远程处理库的内部等待。我尝试中止此操作(如果尝试加入线程在短时间后失败),但它不会中止。我想知道这是否是问题的一部分

如果我启动另一个客户机,那么该客户机可以与服务器正常通信。我想我需要重新启动原始客户端的某些方面,但看不到需要关闭什么。我当然会将连接到的服务器设置为空,并使用相同的地址调用Activator.GetObject(第二个客户端连接到服务器时会执行这项操作,效果很好),但重新获取服务器一点帮助都没有


服务器正在通过ReavestWordNoelServyType运行AS Stutelon。

< P>我将从WiReSARK开始,并使用它来查看线中到底发生了什么。

< P>是.NET Read Stand,或者您可以考虑移动吗?这些协议在需要时得到了更好的考虑和更清晰的公开

我在解决一个类似的问题。我有一个工作的.NET远程处理应用程序,它使用配置文件进行远程处理,并且.NET远程处理的例程必须集成到一个更大的应用程序中。我通过
Activator将其集成到更大的项目中。GetObject
返回了代理的一个实例。一旦有来自代理实例的成员呼叫,它就在成员呼叫中结束,无法启动。更大的应用程序已经包含了各种配置文件,因此我将.NET远程处理配置与其他配置放在一起,这就是问题的症结所在。在我将.NET远程处理配置放入一个新的空配置文件后,大型应用程序中的.NET远程处理开始工作。

听起来WCF是一个不错的选择。让我吃惊的是,像remoting这样的老API(因此得到了很好的使用和调试)在做一些本应是其主要工作的事情时遇到了这样的问题。谢谢你的建议。好吧,DCOM是一个更古老、应用更广泛的API(例如,支持WMI),但它比.NET远程处理(尤其是针对安全性)有更多的问题。IIOP绝对不是。部分原因是.NET远程处理一直是web服务的第二位,但部分原因是远程处理协议很难设计和实现,很难覆盖所有情况。。。