【发布时间】:2008-09-08 11:31:22
【问题描述】:
我目前正在使用的系统由一台运行 XP 的控制器 PC 组成,其中 .Net 2 连接到一组嵌入式系统。所有这些组件都通过以太网相互通信。我目前在 XP 计算机上使用 TcpClient.Connect 打开与嵌入式系统的连接以发送 TCP/IP 消息。
我现在必须将 XP 计算机连接到外部网络以发送处理数据,因此 XP 计算机上现在有两个网卡。但是,发送到外部网络的消息不能出现在将嵌入式系统连接在一起的网络上(不想消耗带宽),并且发送到嵌入式系统的消息不能出现在外部网络上。
所以,我的断言是,当使用 TcpClient.Connect 方法时,发送到定义的 IP 地址的消息会在两个网卡上发送出去。
如何指定通过哪些物理网卡消息发送,最好使用 .Net 网络 API。如果 .Net 中不存在这样的方法,那么我总是可以 P/Invoke Win32 API。
滑雪
【问题讨论】:
-
这不取决于您要访问的 IP 地址吗?还是它们在同一个子网中?
-
@sven:外部网络(不是嵌入式网络)的 IP 地址完全不受我控制。该网络上的策略取决于将使用机器的站点的系统管理员(它可以是静态地址、dhcp、相同的子网、不同的子网、运营商 pidgeon 等)。
标签: c# .net networking