C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[1]: .NET リモーティングでクライアント情報を知るには


(過去ログ 89 を表示中)

[トピック内 2 記事 (1 - 2 表示)]  << 0 >>

■53153 / inTopicNo.1)  .NET リモーティングでクライアント情報を知るには
  
□投稿者/ keckry (3回)-(2010/09/04(Sat) 16:36:35)

分類:[C#] 

前回はお世話になりました。
今回も.NETリモーティングを利用しています。

・今回の質問内容
リスナーが、接続してきたクライアントのIPアドレスを知る方法が分かりません。
現在は普通のTcpListerとTcpClientで誤魔化しています。
全てリモーティングで実現出来ないのでしょうか?

御存知の方はお教え下されば幸いです。宜しくお願いします。
引用返信 編集キー/
■53161 / inTopicNo.2)  Re[1]: .NET リモーティングでクライアント情報を知るには
□投稿者/ keckry (4回)-(2010/09/04(Sat) 23:50:35)
問題が解決したので自己レスです。

方法としましては、IServerChannelSink、IClientChannelSink、IServerChannelSinkProvider、IClientChannelSinkProviderを実装し、TcpChannelの引数が3つあるメソッドを呼べば出来ました。
実装したIServerChannelSinkのProcessMessageメソッド内で、ITransportHeaders型のrequestHeaders[CommonTransportKeys.IPAddress]を参照することでアクセスしてきたクライアントのIPアドレスなどの情報を取り出すことが出来ます。
後はそれらをSystem.Runtime.Remoting.Messaging.CallContextなどに保存し、実際のリモーティングオブジェクト内でそれを参照すればOKです。
板汚し申し訳ありませんでしたorz
解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -