byte[] ip = new byte[4];
ip[0] = (byte) 192;
ip[1] = (byte) 168;
ip[2] = (byte) 1;
ip[3] = (byte) 8;
SessionAddress localSessionAddr = new SessionAddress(
InetAddress.getByAddress(ip), LOCAL_RTP_PORT);
抛出:本地数据地址不属于任何此主机本地接口
【解决方法及原因】
问题是 JMF 似乎使用 InetAddress.getAllByName() ,它(在大多数情况下)只提供单个 IP 地址,因为它可能不在 /etc/hosts 中。可以通过在 /etc/hosts [1]中设置你的接口 ip(比如 eth0、wlan0)来解决它。
> cat /etc/hosts
> 127.0.0.1 localhost
> 127.0.1.1 noor
> 192.168.1.8 noor