- PR -

Remoting Serviceを使って、SocketException異常が発生した

1
投稿者投稿内容
うさぎ
会議室デビュー日: 2006/01/30
投稿数: 5
投稿日時: 2006-01-30 16:13
はじめまして。宜しくお願いします。

私は、RemotingServiceを使って、クライアント側でRemoteObjectを
呼び出したところ(★★をつけている部分)、異常が発生した。

エラーの情報は、
--------------------------------------------------------------
'System.Net.Sockets.SocketException' のハンドルされていない
例外が mscorlib.dll で発生しました。

追加情報 : 対象のコンピュータによって拒否されたため、接続で
きませんでした。
--------------------------------------------------------------

クライアントのソース

class MyClient
{
[STAThread]
static void Main(string[] args)
{
HttpChannel channel = new HttpChannel();
ChannelServices.RegisterChannel(channel);
MyRemoteObject remote = (MyRemoteObject)Activator.GetObject(
typeof(MyRemoteObject),
"tcp://localhost:8080/MyRemoteObject");
if (remote == null)
{
Console.WriteLine("リモートオブジェクトが見つかりません"); return;
}
string result = remote.sayHello("World"); ★★
Console.WriteLine(result);
}
Tdnr_Sym
ぬし
会議室デビュー日: 2005/09/13
投稿数: 464
お住まい・勤務地: 明石・神戸
投稿日時: 2006-01-30 16:55
こんにちは。

引用:

うさぎさんの書き込み (2006-01-30 16:13) より:

私は、RemotingServiceを使って、クライアント側でRemoteObjectを
呼び出したところ(★★をつけている部分)、異常が発生した。



もしかして…ここ↓のサンプルコードですか?
.NET Remotingのススメ

そうだとしたら、ポート番号が違うようですけれども。

私のマシンで次のように試してみましたところ、同様のエラーが再現されました。
サーバー側コードをリンク先で実装し(ポート16383)、クライアント側でうさぎさんのコード(ポート8080)を使用する。

ポート番号がサーバー側とクライアント側で一致しているか、確認してみてください。
うさぎ
会議室デビュー日: 2006/01/30
投稿数: 5
投稿日時: 2006-01-30 17:10
ご回答ありがとうございました。

ポートを直して見ました。次のエラー情報が出てきます。
----------------------------------------------------------------------------
'System.Net.WebException' のハンドルされていない例外が mscorlib.dll で発生しました。

追加情報 : 基になる接続が閉じられました : リモート サーバーに接続できません。
------------------------------------------------------------------------------
Tdnr_Sym
ぬし
会議室デビュー日: 2005/09/13
投稿数: 464
お住まい・勤務地: 明石・神戸
投稿日時: 2006-01-30 17:40
こんにちは。

引用:

うさぎさんの書き込み (2006-01-30 17:10) より:

ポートを直して見ました。次のエラー情報が出てきます。
----------------------------------------------------------------------------
'System.Net.WebException' のハンドルされていない例外が mscorlib.dll で発生しました。

追加情報 : 基になる接続が閉じられました : リモート サーバーに接続できません。
------------------------------------------------------------------------------



どこに原因があるか、私には突き止められませんでしたが…
HttpChannel(SOAP形式)を使うかTcpChannel(バイナリ形式)を使うかで、
伝送フォーマットが違うようですが、これもちゃんとサーバー側、クライアント側で一致していますか?

よろしければ、サーバー側コードとクライアント側コードの両方を提示していただけると助かります。
1

スキルアップ/キャリアアップ(JOB@IT)