我正在编写将通过UDP与网络通信的代码。从udp
documentation开始,我所要做的就是指定一个目标地址和端口,然后我就可以开始发送/接收数据了。
我有两个独立的以太网端口(可能是USB-to-RJ45适配器),我希望能够进行通信。文档没有说明是否有办法选择输出我的数据的NIC卡;可以指定吗?我的用户可能会通过主以太网端口连接到Internet,然后使用我的代码与第二个端口(或USB-to-RJ45)进行通信。 (这是两个独立的网络。)
答案 0 :(得分:4)
我认为这里有趣的问题是,为什么你会想要选择通过哪个网卡进行通信?
除非我忽略了这一点,否则您的应用程序应仅指定要连接的服务器(IP和端口),并且操作系统的TCP / IP路由方案应根据目标网络选择要使用的适当NIC。
答案 1 :(得分:2)
您可以在调用LocalHost
时选择要使用udp()
属性的接口:
http://www.mathworks.com/help/instrument/localhost.html
所以在你的情况下
u = udp(rhost,rport,'LocalHost','IP_OF_NIC')
顺便说一下,如果你好奇如何处理这个问题:你可以找到propinfo(u)
对象的所有属性。然后找到每个属性的文档,听起来就像你正在寻找的那样。
答案 2 :(得分:1)
我过去没有做过这样的事情,所以我只是从理论的角度来讲。据我所知,LocalHost决定了本地机器连接外部实体的方式。
以下是文档的链接:LocalHost
在创建UDP连接之前,您将不得不设置LocalHost设置。我的印象是你知道你拥有的不同网络接口的本地IP地址,并且它们是静态的。我确信有一种方法可以动态地获取这些信息,但我并不熟悉这一点。
祝你好运,希望有所帮助! 本