问题
192.168.1.1(服务器)和 192.168.1.12(客户端)之间无法建立套接字连接(见图 1)。
测试
测试 1:“Ping”
ping 192.168.1.2 -S 192.168.1.1
->成功
ping 192.168.1.12 -S 192.168.1.11
->成功
ping 192.168.1.12 -S 192.168.1.1
->失败
测试 2:“套接字连接”
192.168.1.1(服务器)和 192.168.1.2(客户端)之间的套接字连接可以建立。
数据已成功接收和发送。
192.168.1.1(服务器)和 192.168.1.12(客户端)之间的套接字连接无法建立。
SocketSever 上的 BeginAccept 回调从未被调用过。
测试 3:“备用端点设备”
192.168.1.1(服务器)和 192.168.1.2(客户端)之间的套接字连接可以建立。
192.168.1.1(服务器)和 192.168.1.12(客户端)之间的套接字连接无法建立。
因此,两个端点设备都正常工作(实际上它们是相同的产品)
测试 4:“另一种网络结构”
在另一个网络结构上,一切运行正常(见图 2)。
但是我不能采用这种解决方案,因为我无法在左侧和右侧 USB-ETHERNET 之间放置 HUB。
我的假设
这个问题是由于两个网络是隔离的,不能互相交互造成的。
如果有类似“HUB”的Windows应用程序,可能会解决这种情况。
有什么建议或解决方案吗?
答案1
我们有两个选择来实现这一点。
正如 Ron 上面提到的,桥接是第一个解决方案,它使您的计算机成为集线器。任何数据包都在单个网段中广播。
另一个选择是将这两个接口放入不同的子网,然后在计算机上启用 IP 转发(路由)。然后您的计算机将成为路由器,这意味着它将在这两个子网之间路由数据包。
希望这可以帮助。