【问题标题】:.NET Remoting Client's Problem when running on the machine with Multi NICs.NET Remoting 客户端在具有多 NIC 的机器上运行时的问题
【发布时间】:2009-07-21 02:29:53
【问题描述】:

我构建了一个.NET Remoting Client,它在单网卡机器上运行良好,并且通过远程事件接收到大量测试消息。

但是当添加额外的网卡后,客户端似乎可以连接远程服务器,但测试消息无法到达。

通过调试,服务器端确实触发了事件,但客户端没有得到。从谷歌检查并发现类似的问题报告: http://www.eggheadcafe.com/community/aspnet/2/10061570/reply.aspx

我只是想知道是否有任何解决方案?

提前致谢!

【问题讨论】:

  • 如您所知 - .NET Remoting 已被弃用,取而代之的是 WCF。

标签: .net remoting nic


【解决方案1】:

这对我来说也是个问题。

这个问题的本质是客户端如何在服务器上注册事件处理程序。添加事件处理程序时,客户端正在发送“绑定”地址的 IP 地址。这是 TcpChannel 类中的静态非公共字段(感谢反射器)。您需要将客户端显式绑定到服务器能够访问的 IP 地址。客户端的配置文件应该是这样的。

<channel ref="tcp" port="0" bindTo="your.ip.address.here" >

【讨论】:

  • 或字符串 machineName = System.Environment.MachineName; if (!string.IsNullOrEmpty(machineName)) { channelSettings.Add("machineName", machineName); }
【解决方案2】:

我在使 .Net Remoting c# 客户端-服务器程序正常工作时遇到问题 并在客户端和客户端之间有路由器时相互连接 服务器。

在客户端设置

useIpAddress=false

示例:

  <system.runtime.remoting>
    <application name="Client">
      <channels>
        <channel ref="tcp" port="0" useIpAddress="false">
          <clientProviders>

http://msdn.microsoft.com/en-us/library/system.runtime.remoting.channels.tcp.tcpchannel(v=vs.71).aspx

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多