0

私は http://msdn.microsoft.com/en-us/library/system.net.sockets.tcplistener(v=vs.100).aspx を通過し、TCPListenerに関する多くの記事/投稿も参照しました..しかし、私はC# を使用して、ポート 8888 で LAN に接続されているすべてのマシンに対して、ローカル マシンから TCP リスナーを開始できるかどうかを理解できませんか?

compA(192.168.1.1) と compB(192.168.1.2) という 2 台のコンピューターが LAN に接続されています。次に、compA から compB で TCPListener を開始します。つまり、compA でアプリケーション (window C#) を起動すると、compB で Listener を開始する必要があります (192.168.1.2:888)

4

1 に答える 1

0

別のマシンで任意に を起動することはできませんTcpListener。その目的のためにそのマシンに特定のソフトウェアが既にインストールされている場合を除きます。そうすることができれば、明らかなセキュリティ上の問題になります。

のアドレス/エンドポイント パラメータTcpListenerは、ローカルアドレス/エンドポイントです。1 台のマシンが複数の IP アドレスを持つことができ、そのパラメーターを使用すると、すべてのバインディングに応答するのではなく、単に特定の IP アドレスにバインドすることができます。

他のマシンが compA に接続できるようにしたいだけなら、それは問題なく簡単です。compA でリスナーを開始して、ポート 8888 にバインドするように指示するか、より具体的にしたい場合は、ポートで 192.168.1.1 を指定します。 8888. しかし、compB が compA への TCP 接続を開こうとするまでは、compB には何の影響もありません。

于 2013-01-18T10:55:15.053 に答える