Compare commits

...

3 Commits

5 changed files with 16 additions and 5 deletions

View File

@ -222,7 +222,7 @@ public class InviteRequestProcessor extends SIPRequestProcessorParent implements
if (sendRtpItem.isTcpActive()) {
MediaServer mediaServer = mediaServerService.getOne(sendRtpItem.getMediaServerId());
try {
mediaServerService.startSendRtpPassive(mediaServer, sendRtpItem, 5);
mediaServerService.startSendRtpPassive(mediaServer, sendRtpItem, 5*1000);
DeviceChannel deviceChannel = deviceChannelService.getOneForSourceById(sendRtpItem.getChannelId());
if (deviceChannel != null) {
redisCatchStorage.sendPlatformStartPlayMsg(sendRtpItem, deviceChannel, platform);

View File

@ -3,6 +3,7 @@ package com.genersoft.iot.vmp.jt1078.codec.netty;
import com.genersoft.iot.vmp.jt1078.codec.decode.Jt808Decoder;
import com.genersoft.iot.vmp.jt1078.codec.encode.Jt808Encoder;
import com.genersoft.iot.vmp.jt1078.codec.encode.Jt808EncoderCmd;
import com.genersoft.iot.vmp.jt1078.config.JT1078Config;
import com.genersoft.iot.vmp.jt1078.proc.factory.CodecFactory;
import com.genersoft.iot.vmp.jt1078.service.Ijt1078Service;
import io.netty.bootstrap.ServerBootstrap;
@ -38,13 +39,15 @@ public class TcpServer {
private EventLoopGroup workerGroup = null;
private ApplicationEventPublisher applicationEventPublisher = null;
private Ijt1078Service service = null;
private final JT1078Config jt1078Config;
private final ByteBuf DECODER_JT808 = Unpooled.wrappedBuffer(new byte[]{0x7e});
public TcpServer(Integer port, ApplicationEventPublisher applicationEventPublisher, Ijt1078Service service) {
public TcpServer(Integer port, ApplicationEventPublisher applicationEventPublisher, Ijt1078Service service, JT1078Config jt1078Config) {
this.port = port;
this.applicationEventPublisher = applicationEventPublisher;
this.service = service;
this.jt1078Config = jt1078Config;
}
private void startTcpServer() {
@ -63,7 +66,7 @@ public class TcpServer {
@Override
public void initChannel(NioSocketChannel channel) {
channel.pipeline()
.addLast(new IdleStateHandler(10, 0, 0, TimeUnit.MINUTES))
.addLast(new IdleStateHandler(jt1078Config.getReaderIdleTime(), 0, 0, TimeUnit.MINUTES))
.addLast(new DelimiterBasedFrameDecoder(1024 * 2, DECODER_JT808))
.addLast(new Jt808Decoder(applicationEventPublisher, service))
.addLast(new Jt808Encoder())

View File

@ -26,8 +26,11 @@ public class JT1078AutoConfiguration {
@Autowired
private Ijt1078Service service;
@Autowired
private JT1078Config jt1078Config;
@Bean(initMethod = "start", destroyMethod = "stop")
public TcpServer jt1078Server(@Value("${jt1078.port}") Integer port) {
return new TcpServer(port, applicationEventPublisher, service);
return new TcpServer(port, applicationEventPublisher, service, jt1078Config);
}
}

View File

@ -17,4 +17,9 @@ public class JT1078Config {
private String password;
private Boolean record = false;
/**
* IdleStateHandler reader idle timeout, unit: minutes
*/
private Integer readerIdleTime = 15;
}

View File

@ -20,7 +20,7 @@ public class JT1078ServerTest {
public static void main(String[] args) {
System.out.println("Starting jt1078 server...");
TcpServer tcpServer = new TcpServer(21078, null, null);
TcpServer tcpServer = new TcpServer(21078, null, null, null);
tcpServer.start();
System.out.println("Start jt1078 server success!");