2

単一の NIC のマシンで非常にうまく動作する .NET Remoting Client を構築し、リモート イベントを介して多数のテスト メッセージを受信しました。

しかし、追加の NIC が追加されたとき、クライアントはリモーティング サーバーに接続できるように見えましたが、テスト メッセージが届かなくなりました。

デバッグから、サーバー側はイベントをトリガーしましたが、クライアントはそれを取得しませんでした。Google から確認すると、同様の問題が報告されていることがわかります: http://www.eggheadcafe.com/community/aspnet/2/10061570/reply.aspx

何か解決策があるのだろうか?

前もって感謝します!

4

2 に答える 2

1

クライアントとサーバーの間にルーターがある場合、.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

于 2012-05-23T13:25:06.960 に答える
1

これは私にとってもいくつかの問題でした。

この問題の性質は、クライアントがサーバーにイベント ハンドラーを登録する方法にあります。イベント ハンドラを追加すると、クライアントは「バインドされた」アドレスの IP アドレスを送信します。これは、TcpChannel クラスの静的な非パブリック フィールドです (リフレクターに感謝します)。サーバーが到達できる IP アドレスにクライアントを明示的にバインドする必要があります。クライアントの構成ファイルは次のようになります。

<channel ref="tcp" port="0" bindTo="your.ip.address.here" >
于 2009-11-11T22:08:23.800 に答える