2012-01-11 12 views
2

私はこの前に尋ねられましたが、この特定の事柄について何も見つかりませんでした。どのローカルIPがリモートIPに接続していますか?

私は自分のコンピュータのIPアドレスを使ってリモートIPに接続することを試みます。 私はいくつかの種類のソケット設定を両方の方法で使用しています。私は私のIP(および他のものとxml)を別のサーバーに送信して、私に連絡する方法を知っています。 しかしどのように私はそれに送るべきであるipを把握するのですか? 私は、サーバのIPまたはホスト名を持っていますが、

Dns.GetHostEntry("host").AddressList 

でしかし、唯一私にリモートホストのIPを与え、私のコンピュータがそれに到達しないかということしようとしています。

私の質問は全く解決可能ですか、これはちょうど希望的な考えですか?

+0

を参照してください:http://alperguc.blogspot.com /2008/11/c-how-to-get-computer-ip-address.html多分? – Ryan

+2

NATゲートウェイの背後にある場合(たとえば、ほとんどのホームルータ、携帯電話接続など)、ローカルIPを送信することは役に立たないでしょう。それは10.x.x.xであり、外部からは到達できません。 –

+0

Minitech:それについても考えていましたが、ユーザーが複数のランを持っている場合、たとえば、VMのどれが接続先のサーバーに関連しているのかを知ることは難しいです。 –

答えて

0

[OK]を、迅速な更新を自分のライブラリーを使用しました。

しかし、私は今、ほとんどの場合のために働く、およびDNSはその仮定するが何をすべきかを行うようになる、実際のIPアドレスの代わりにホスト名を送ることができることが判明

:)

0

リモートホストでそのデータをキャプチャできますか?その目的は確かにそれを持っています。

+0

これは私が検討したオプションですが、その部分は内蔵されていません。しかし問題を引き起こすことはできません、それは私が推測することは難しいです。 –

0

UDPを使用している場合、これはまさにSTUNプロトコルのためのものです。 STUNは、特定の接続がインターネット上でどのように見えるかを知ることができるように、(他のP2Pシステムの中でも)VOIPアプリケーションで使用されています。

STUNを実装する非常に信頼性の高い.NET実装の1つは、Lumisoft.NETライブラリ(ソースコードはhere)に含まれています。私はVOIPからP2P VPNに至​​るまで、この特定のタスクを満たすために自分で使ってきました。 非常にで使いやすく、標準に準拠しています。

注:私はLumisoftと提携してどのような方法でないです、私は単に、いくつかの異なるアプリケーションに自分自身を除いて誰を助ける習慣

+0

2番目の考えでは、これは限られた状況でのみ適用され、あなたの質問は特定ではありません。あなたのアプリケーションがUDPで、あなたのアプリケーションがより大きなインターネット上で動作し、STUNをトラバースメカニズムとしてサポートしているルータの背後にいる場合、これはうまくいくでしょう。 –

関連する問題