2012-01-16 6 views
1

を使用してポートに接続する - ...ので、この質問は非常に良いではない場合申し訳ありませんイム**私は、ソケットやネットワークの開発で多くの経験を持っていないTcpListenerクラス

を私は自分のコンピュータに接続されているいくつかのハードウェアを持っています(私はネットワークカードとしてこのハードウェアを参照してください)。 このハードウェアはTCPプロトコルを使用して文字列を送信しています(常にポート551に送信)。

新規、私は私のアプリケーションでそれらの文字列を取得する必要があります。 は、だから私は、ローカルホストプロトコルに耳を傾ける「TcpListener」オブジェクトを使用したい - ポートに耳を傾ける私はそれが最初に(ポート551に常に耳を傾けますので、私は「TcpListener」オブジェクトを初期化することができていることがわかりMSDNで551

コンストラクタ)。

しかし、ハードウェアは、ポート551に接続されている - その必要性は、文字列を送信することがあるため -

を、どのように私はそれを行うことができますか? 私の基本的な誤解は何ですか?

+1

は、デバイス受け入れていますポート551で接続を開始するか、またはそのポートを使用している他の人にのみ接続しますか?他の人に接続しているだけの場合は、実際にはそのポート自体を使用しません。それは、あなたのWebブラウザがポート80上のいくつかのサーバに接続しているようなものです。ブラウザはポート80を使用していません。 –

+0

デバイスはネットワークカードと見なされ、いくつかのIPアドレス(192.168.0.1)で定義されています。だから、私は今、私のコンピュータ上に2つのネットワークカードを持っています - (2番目は私がインターネット接続のために使っている普通のネットワークカードです) - – Yanshof

+1

それが特定のIPアドレスを持つネットワークカードとして動作しているなら、その特定のipアドレスにバインドされたソケット(例えば、 'TcpListener'クラスを使用します)。 –

答えて

1

まず、私が正しいセットアップ持っていることを確認してください:だからあなたには、いくつかのハードウェアは、ポート551上でそれを送出してい

を、IPアドレス192.168.1.1に言います。 2番目のカードを、たとえばIPアドレス192.168.1.2で追加しました。

1)必ず192.168.1.1が192.168.1.2のポート551へのTCPパケットを送信してください:192.168.1.1が必要に送信されているものに耳を傾けるために

2)192.168.1.2にリスナーを結合、TCPListenerを開きます。

IPAddress localAddr = IPAddress.Parse("192.168.1.2"); 
TcpListener server = new TcpListener(localAddr , 551); 

3)サーバは何かがそのポートに着信見つけるまで座って待つ:

server.Start(); 
... 
server.AcceptTcpClient(); 
関連する問題