1

我有一个服务器对象

 TcpChannel tcp = new TcpChannel(1234);
        ChannelServices.RegisterChannel(tcp, false);
        string s = ConfigurationManager.AppSettings["remote"];
        RemotingConfiguration.RegisterWellKnownServiceType(typeof(TestRemoting.InitialClass1), "TestRemoting", WellKnownObjectMode.Singleton);
        Console.WriteLine("Server is running on 1234 channel...");
        Console.WriteLine("Press Enter to Stop");
        Console.ReadLine();

我正在以 mu 客户端形式访问该对象,例如

 InitialClass1 Icls = (InitialClass1)Activator.GetObject(typeof(InitialClass1), "tcp://localhost:1234//TestRemoting");

现在我将远程对象保存在另一台计算机中。如何从该计算机访问我的服务器对象。如果我从我的(本地)计算机访问服务器对象,我将使用

"tcp://localhost:1234//TestRemoting"

我在这里使用localhost,因为我的服务器对象和我的客户端是相同的。因此,如果这两者不同,我该如何访问服务器对象。我尝试使用我的另一台计算机 IP 作为

tcp://200.100.0.52:1234//TestRemoting

那个时候我得到一个例外

A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond 200.100.0.52:1234
4

1 回答 1

1

该消息意味着客户端大部分时间都找不到服务。您可以使用以下步骤来确定连接失败的位置:

  1. 检查服务是否在远程机器上运行。
  2. 检查端口号是否正确。
  3. 从客户端 ping 远程计算机。
  4. 在服务的端口号上打开到远程机器的 telnet 会话。

失败的步骤说明了失败的原因。

于 2013-08-08T05:53:22.310 回答