Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sockets 我可以选择用于UDP通信的以太网端口吗?_Sockets_Udp_Matlab_Nic - Fatal编程技术网

Sockets 我可以选择用于UDP通信的以太网端口吗?

Sockets 我可以选择用于UDP通信的以太网端口吗?,sockets,udp,matlab,nic,Sockets,Udp,Matlab,Nic,我正在编写通过UDP与网络通信的代码。从中,我所要做的就是指定目标地址和端口,然后开始发送/接收数据 我有两个独立的以太网端口(可能还有一个USB-to-RJ45适配器),我希望能够在上面进行通信。文档没有指定是否有方法选择我的数据应该输出到哪个网卡上;可以指定吗?我的用户可能会通过其主以太网端口连接到Internet,然后使用我的代码与第二个端口(或USB-to-RJ45)进行通信。(这是两个独立的网络。)我过去没有做过类似的事情,所以我只是从理论的角度讲。据我所知,本地主机决定本地计算机如何

我正在编写通过UDP与网络通信的代码。从中,我所要做的就是指定目标地址和端口,然后开始发送/接收数据


我有两个独立的以太网端口(可能还有一个USB-to-RJ45适配器),我希望能够在上面进行通信。文档没有指定是否有方法选择我的数据应该输出到哪个网卡上;可以指定吗?我的用户可能会通过其主以太网端口连接到Internet,然后使用我的代码与第二个端口(或USB-to-RJ45)进行通信。(这是两个独立的网络。)

我过去没有做过类似的事情,所以我只是从理论的角度讲。据我所知,本地主机决定本地计算机如何连接到外部实体

以下是文档的链接:

显然,在创建UDP连接之前,您必须先设置本地主机设置。我还消除了一种印象,即您知道您拥有的不同网络接口的本地IP地址,并且它们是静态的。我相信有一种方法可以动态地获取这些信息,但我对这种方法并不熟悉

祝你好运,希望对你有所帮助!
Ben

我认为这里有一个有趣的问题,为什么你会选择通过哪个NIC进行通信


除非我忽略了这一点,否则应用程序应该只指定要连接的服务器(ip和端口),并且操作系统的TCP/ip路由方案应该根据目标网络选择要使用的正确NIC。

调用
udp()
时,您可以选择使用
LocalHost
属性的接口:

那么你的情况呢

u = udp(rhost,rport,'LocalHost','IP_OF_NIC')

顺便说一句,如果你想知道如何处理这个问题:你可以通过
propinfo(u)
找到一个对象的所有属性。然后查找每个属性的文档,这些文档听起来像是您要查找的内容。

下面是一些可能相关的问题,从底层套接字API的角度对其进行了解释:,