From 66eda32ab97d6e94e9f274d6faa4df586c452dfb Mon Sep 17 00:00:00 2001 From: 648540858 <648540858@qq.com> Date: 星期日, 25 六月 2023 10:18:29 +0800 Subject: [PATCH] 优化端口预占用 --- src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/RegisterRequestProcessor.java | 22 ++++++---------------- 1 files changed, 6 insertions(+), 16 deletions(-) diff --git a/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/RegisterRequestProcessor.java b/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/RegisterRequestProcessor.java index 0c8c3f6..69969b3 100644 --- a/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/RegisterRequestProcessor.java +++ b/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/RegisterRequestProcessor.java @@ -27,6 +27,9 @@ import org.springframework.stereotype.Component; import org.springframework.util.ObjectUtils; +import javax.sip.*; +import javax.sip.header.*; +import javax.sip.message.Request; import javax.sip.RequestEvent; import javax.sip.SipException; import javax.sip.header.AuthorizationHeader; @@ -80,21 +83,7 @@ public void process(RequestEvent evt) { try { RequestEventExt evtExt = (RequestEventExt) evt; - String requestAddress = evtExt.getRemoteIpAddress() + ":" + evtExt.getRemotePort(); -// MBeanServer beanServer = ManagementFactory.getPlatformMBeanServer(); -// QueryExp protocol = Query.match(Query.attr("protocol"), Query.value("HTTP/1.1")); -//// ObjectName name = new ObjectName("*:type=Connector,*"); -// ObjectName name = new ObjectName("*:*"); -// Set<ObjectName> objectNames = beanServer.queryNames(name, protocol); -// for (ObjectName objectName : objectNames) { -// String catalina = objectName.getDomain(); -// if ("Catalina".equals(catalina)) { -// System.out.println(objectName.getKeyProperty("port")); -// } -// } - -// System.out.println(ServiceInfo.getServerPort()); SIPRequest request = (SIPRequest)evt.getRequest(); Response response = null; boolean passwordCorrect = false; @@ -104,12 +93,13 @@ AddressImpl address = (AddressImpl) fromHeader.getAddress(); SipUri uri = (SipUri) address.getURI(); String deviceId = uri.getUser(); - logger.info("[娉ㄥ唽璇锋眰] 璁惧锛歿}, 寮�濮嬪鐞�: {}", deviceId, requestAddress); + Device device = deviceService.getDevice(deviceId); RemoteAddressInfo remoteAddressInfo = SipUtils.getRemoteAddressFromRequest(request, userSetting.getSipUseSourceIpAsRemoteAddress()); - + String requestAddress = remoteAddressInfo.getIp() + ":" + remoteAddressInfo.getPort(); + logger.info("[娉ㄥ唽璇锋眰] 璁惧锛歿}, 寮�濮嬪鐞�: {}", deviceId, requestAddress); if (device != null && device.getSipTransactionInfo() != null && request.getCallIdHeader().getCallId().equals(device.getSipTransactionInfo().getCallId())) { -- Gitblit v1.8.0