|
|
@@ -6,6 +6,10 @@ import org.springframework.beans.factory.annotation.Value;
|
|
|
import org.springframework.context.annotation.Configuration;
|
|
|
import org.springframework.util.StringUtils;
|
|
|
|
|
|
+import java.net.InetAddress;
|
|
|
+import java.net.UnknownHostException;
|
|
|
+import java.util.regex.Pattern;
|
|
|
+
|
|
|
|
|
|
@Configuration("mediaConfig")
|
|
|
public class MediaConfig{
|
|
|
@@ -161,7 +165,18 @@ public class MediaConfig{
|
|
|
if (StringUtils.isEmpty(sdpIp)){
|
|
|
return ip;
|
|
|
}else {
|
|
|
- return sdpIp;
|
|
|
+ if (isValidIPAddress(sdpIp)) {
|
|
|
+ return sdpIp;
|
|
|
+ }else {
|
|
|
+ // 按照域名解析
|
|
|
+ String hostAddress = null;
|
|
|
+ try {
|
|
|
+ hostAddress = InetAddress.getByName(sdpIp).getHostAddress();
|
|
|
+ } catch (UnknownHostException e) {
|
|
|
+ throw new RuntimeException(e);
|
|
|
+ }
|
|
|
+ return hostAddress;
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
|
|
|
@@ -211,4 +226,11 @@ public class MediaConfig{
|
|
|
return mediaServerItem;
|
|
|
}
|
|
|
|
|
|
+ private boolean isValidIPAddress(String ipAddress) {
|
|
|
+ if ((ipAddress != null) && (!ipAddress.isEmpty())) {
|
|
|
+ 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);
|
|
|
+ }
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+
|
|
|
}
|