c# socket编程,如何在有路由器的局域网中,连接另一台主机

2024年11月23日 05:23
有1个网友回答
网友(1):

局域网中,如果两台主机都处于同一个路由器之下,则可以直接连,因为并不涉及NAT,就跟同一个网段中那样,剩下的工作路由器和交换机会替你完成.
如果两个主机处于不同的路由器之下(也就是某个主机所在网络是子网,或分别位于两个路由器之下),则不可以直接连.
假定A和B是两个主机.C和D是路由器.A连在C上,D连在C上,B在D下面,也就是B所处网络是A所处网络的子网,则B可以直接连接A,反之则不行.这时可以在路由器D上设置端口映射,这样就能直接互相访问了.
如果分别位于两个路由器下,就需要在两个路由器上都设置端口映射,才能互联(谁发起连接都行),否则就只能依靠打洞了.详细的资料请搜索TCP打洞.