使用c#在局域网的所有机器上启动tcpllistener

本文关键字:机器 启动 tcpllistener 局域网 使用 | 更新日期: 2023-09-27 17:54:03

我已经走过了http://msdn.microsoft.com/en-us/library/system.net.sockets.tcplistener(v=vs.100).aspx和也参考了许多文章/帖子在tcpllistener ..但我无法理解我是否可以启动TCP监听器从我的本地机器到所有机器连接到我的LAN端口8888使用c# ?

我有两台电脑连接在局域网说compA(192.168.1.1)和compB(192.168.1.2)。现在我想从compA启动compB上的TCPListener。换句话说,如果我在compA中启动一个应用程序(window c#),它应该在compB中启动Listener,例如在(192.168.1.2:888)

使用c#在局域网的所有机器上启动tcpllistener

您不能在另一台机器上任意启动TcpListener,除非您已经在该机器上安装了用于此目的的特定软件;如果能够这样做,将是一个明显的安全问题。

TcpListener上的address/endpoint参数为本地地址/endpoint。一台机器可以有多个IP地址,这个参数只是允许你绑定到一个特定的IP地址,而不是对所有的绑定做出响应。

如果您只是希望其他机器能够连接到compA,那么这很好也很简单:只需在compA上启动侦听器,告诉它绑定到端口8888,或者如果您想更具体:端口8888上的192.168.1.1。但是这对compB没有任何作用,直到compB试图打开一个与compA的TCP连接。