Commit 78fac69cd569ede0ba5bf900f0df4f65c9229400

Authored by 648540858
1 parent d202291a

支持sdp ip 配置为域名

src/main/java/com/genersoft/iot/vmp/conf/MediaConfig.java
... ... @@ -6,6 +6,10 @@ import org.springframework.beans.factory.annotation.Value;
6 6 import org.springframework.context.annotation.Configuration;
7 7 import org.springframework.util.StringUtils;
8 8  
  9 +import java.net.InetAddress;
  10 +import java.net.UnknownHostException;
  11 +import java.util.regex.Pattern;
  12 +
9 13  
10 14 @Configuration("mediaConfig")
11 15 public class MediaConfig{
... ... @@ -161,7 +165,18 @@ public class MediaConfig{
161 165 if (StringUtils.isEmpty(sdpIp)){
162 166 return ip;
163 167 }else {
164   - return sdpIp;
  168 + if (isValidIPAddress(sdpIp)) {
  169 + return sdpIp;
  170 + }else {
  171 + // 按照域名解析
  172 + String hostAddress = null;
  173 + try {
  174 + hostAddress = InetAddress.getByName(sdpIp).getHostAddress();
  175 + } catch (UnknownHostException e) {
  176 + throw new RuntimeException(e);
  177 + }
  178 + return hostAddress;
  179 + }
165 180 }
166 181 }
167 182  
... ... @@ -211,4 +226,11 @@ public class MediaConfig{
211 226 return mediaServerItem;
212 227 }
213 228  
  229 + private boolean isValidIPAddress(String ipAddress) {
  230 + if ((ipAddress != null) && (!ipAddress.isEmpty())) {
  231 + return Pattern.matches("^([1-9]|[1-9]\\d|1\\d{2}|2[0-4]\\d|25[0-5])(\\.(\\d|[1-9]\\d|1\\d{2}|2[0-4]\\d|25[0-5])){3}$", ipAddress);
  232 + }
  233 + return false;
  234 + }
  235 +
214 236 }
... ...