我尝试建立一个不使用任何路由器等的本地网络。组件包括一台笔记本电脑(Win7)、一块带有两个局域网接口的紧凑型嵌入式 2013 主板和一台同样带有两个局域网接口的 PC(Win 7)。目的是通过 ce 板上的 VS2012 从笔记本电脑调试应用程序。该应用程序包括一个 tcp 客户端,它尝试连接到 PC 上的 tcp 服务器。这是我为组件局域网适配器配置的 ip 地址:
笔记本:192.168.0.1
ce 板:eth A1:192.168.0.21 eth B1:192.168.0.11
pc : eth 7: 192.168.0.12 (第二个称为 eth 2...)
子网掩码始终为 255.255.255.0
它们通过局域网连接,如下所示:
笔记本(192.168.0.1) -> ce板(192.168.0.21)
ce板(192.168.0.11)->pc(192.168.0.12)
在命令行中执行“ipconfig”显示此部分工作正常。现在我尝试 ping 一下,看看它们是否可以互相访问。笔记本电脑和 ce 板可以毫无问题地互相 ping。从 PC 到 ce 板的 ping 也正常。但如果我尝试从 ce 板 ping 到 PC(ping 192.168.0.12),第一个总是失败...结果是(由于我无法截取屏幕截图,因此简短形式):
错误 11010
错误 11010
错误 11010
错误 11003
错误代码 11010 含义:WSA_QOS_ADMISSION_FAILURE (0x2B02) 由于缺乏资源而导致的错误。
错误代码 11003 含义:WSANO_RECOVERY (0x2AFB) 数据库查找期间发生不可恢复的错误。
如果我再次执行 ping,它工作正常。问题是我的应用程序(VS2012)无法连接到 tcp 服务器。如果我等一会儿再执行 ping,第一个会再次失败...
我还切换了连接到 ce 板的两根 LAN 线,如下所示:
笔记本(192.168.0.1)-> CE板(192.168.0.11)
ce板(192.168.0.21)->pc(192.168.0.12)
现在从 ce 板到笔记本电脑的 ping 显示出奇怪的行为...并且我无法使用 VS2012 通过 LAN 进行调试..因此只有第二个 LAN 适配器(ethB1)导致了问题。
我读到过这可能是 arp 的问题?会这样吗?如果是,我该如何修复它?在我读过的帖子中,建议使用“arp -a”来获取更多信息。据我所知,ce 设备上不存在 arp.exe...
我很高兴收到任何信息!感谢您的阅读!
还有那些投反对票的人。告诉我你不喜欢什么会很好,这样我也许可以改变它,或者在最坏的情况下删除帖子……
答案1
您有两个网络,CE 板连接到这两个网络。问题可能是这两个网络似乎共享一个 IP 空间(您没有提到相关接口上的子网掩码)。如果您将一个设备连接到共享相同 IP 空间的两个不同网络,则可能会遇到问题。尝试更改 PC 和连接到 PC 的 CE 板接口的 IP 地址的第三个八位字节。