Commit ff427e6dcb755ee07b5910979270b6eeec53cd84

Authored by 648540858
Committed by GitHub
2 parents a683d9f6 92e9a3b9

Merge pull request #35 from lawrencehj/master

解决非默认端口无法Send Bye的问题
src/main/java/com/genersoft/iot/vmp/gb28181/transmit/cmd/impl/SIPCommander.java
... ... @@ -526,7 +526,10 @@ public class SIPCommander implements ISIPCommander {
526 526 Pattern p = Pattern.compile("(\\d+\\.\\d+\\.\\d+\\.\\d+)\\:(\\d+)");
527 527 Matcher matcher = p.matcher(vh);
528 528 if (matcher.find()) {
529   - byeURI.setHost(matcher.group(1));
  529 + String ip = matcher.group(1);
  530 + byeURI.setHost(ip);
  531 + String port = matcher.group(2);
  532 + byeURI.setPort(Integer.parseInt(port));
530 533 }
531 534 ViaHeader viaHeader = (ViaHeader) byeRequest.getHeader(ViaHeader.NAME);
532 535 String protocol = viaHeader.getTransport().toUpperCase();
... ...
src/main/java/com/genersoft/iot/vmp/gb28181/transmit/request/impl/MessageRequestProcessor.java
... ... @@ -342,7 +342,7 @@ public class MessageRequestProcessor extends SIPRequestAbstractProcessor {
342 342 try {
343 343 // 回复200 OK
344 344 responseAck(evt);
345   - String seqNo = String.valueOf(System.currentTimeMillis());
  345 + String uuid = UUID.randomUUID().toString().replace("-", "");
346 346 RecordInfo recordInfo = new RecordInfo();
347 347 Element rootElement = getRootElement(evt);
348 348 Element deviceIdElement = rootElement.element("DeviceID");
... ... @@ -398,7 +398,7 @@ public class MessageRequestProcessor extends SIPRequestAbstractProcessor {
398 398 // 为防止连续请求该设备的录像数据,返回数据错乱,特增加sn进行区分
399 399 String cacheKey = CACHE_RECORDINFO_KEY + deviceId + sn;
400 400  
401   - redis.set(cacheKey + "_" + seqNo, recordList, 90);
  401 + redis.set(cacheKey + "_" + uuid, recordList, 90);
402 402 List<Object> cacheKeys = redis.scan(cacheKey + "_*");
403 403 List<RecordItem> totalRecordList = new ArrayList<RecordItem>();
404 404 for (int i = 0; i < cacheKeys.size(); i++) {
... ...