/// <summary> /// 添加地址 /// </summary> /// <returns></returns> public async Task <JT808ResultDto <bool> > Add(JT808IPAddressDto jT808IPAddressDto) { JT808ResultDto <bool> jT808ResultDto = new JT808ResultDto <bool>(); jT808ResultDto.Code = JT808ResultCode.Ok; jT808ResultDto.Data = true; if (!channels.ContainsKey(jT808IPAddressDto.EndPoint)) { try { IChannel clientChannel = await bootstrap.ConnectAsync(jT808IPAddressDto.EndPoint); channels.TryAdd(jT808IPAddressDto.EndPoint, clientChannel); } catch (AggregateException ex) { jT808ResultDto.Data = false; jT808ResultDto.Code = JT808ResultCode.Error; jT808ResultDto.Message = JsonConvert.SerializeObject(ex); } catch (Exception ex) { jT808ResultDto.Data = false; jT808ResultDto.Code = JT808ResultCode.Error; jT808ResultDto.Message = JsonConvert.SerializeObject(ex); } } return(jT808ResultDto); }
public JT808ResultDto <bool> Add(JT808IPAddressDto jT808IPAddressDto) { string host = jT808IPAddressDto.EndPoint.ToString(); return(new JT808ResultDto <bool>() { Code = JT808ResultCode.Ok, Data = ForwardingRemoteAddresssDict.TryAdd(host, 0) }); }
/// <summary> /// 删除转发过滤地址(不能删除在网关服务器配置文件配的地址) /// </summary> /// <param name="request"></param> /// <returns></returns> public JT808HttpResponse RemoveTransmitAddress(JT808HttpRequest request) { if (string.IsNullOrEmpty(request.Json)) { return(EmptyHttpResponse()); } JT808IPAddressDto jT808IPAddressDto = JsonConvert.DeserializeObject <JT808IPAddressDto>(request.Json); return(CreateJT808HttpResponse(jT808TransmitAddressFilterService.Remove(jT808IPAddressDto))); }
/// <summary> /// 删除原包转发地址(不能删除在网关服务器配置文件配的地址) /// </summary> /// <param name="request"></param> /// <returns></returns> public JT808HttpResponse RemoveSourcePackageAddress(JT808HttpRequest request) { if (string.IsNullOrEmpty(request.Json)) { return(EmptyHttpResponse()); } JT808IPAddressDto jT808IPAddressDto = JsonConvert.DeserializeObject <JT808IPAddressDto>(request.Json); return(CreateJT808HttpResponse(jT808SourcePackageChannelService.Remove(jT808IPAddressDto).Result)); }
public void Test4() { var configIp = new JT808IPAddressDto { Host = "127.0.0.1", Port = 6561 }; var result2 = jT808TransmitAddressFilterService.Remove(configIp); Assert.AreEqual(JT808ResultCode.Ok, result2.Code); Assert.IsFalse(result2.Data); Assert.AreEqual("不能删除服务器配置的地址", result2.Message); }
public void Test3() { var ip1 = new JT808IPAddressDto { Host = "127.0.0.1", Port = 12349 }; var result1 = jT808TransmitAddressFilterService.Add(ip1); Assert.AreEqual(JT808ResultCode.Ok, result1.Code); Assert.IsTrue(result1.Data); var result2 = jT808TransmitAddressFilterService.Remove(ip1); Assert.AreEqual(JT808ResultCode.Ok, result2.Code); Assert.IsTrue(result2.Data); }
public JT808ResultDto <bool> Remove(JT808IPAddressDto jT808IPAddressDto) { string host = jT808IPAddressDto.EndPoint.ToString(); if (jT808ConfigurationOptionsMonitor.CurrentValue.ForwardingRemoteAddress != null && jT808ConfigurationOptionsMonitor.CurrentValue.ForwardingRemoteAddress.Any(w => w.EndPoint.ToString() == host)) { return(new JT808ResultDto <bool>() { Code = JT808ResultCode.Ok, Data = false, Message = "不能删除服务器配置的地址" }); } else { return(new JT808ResultDto <bool>() { Code = JT808ResultCode.Ok, Data = ForwardingRemoteAddresssDict.TryRemove(host, out var temp) });
/// <summary> /// 删除地址 /// </summary> /// <returns></returns> public async Task <JT808ResultDto <bool> > Remove(JT808IPAddressDto jT808IPAddressDto) { JT808ResultDto <bool> jT808ResultDto = new JT808ResultDto <bool>(); jT808ResultDto.Code = JT808ResultCode.Ok; jT808ResultDto.Data = true; if (jT808ConfigurationOptionsMonitor.CurrentValue.SourcePackageDispatcherClientConfigurations != null && jT808ConfigurationOptionsMonitor.CurrentValue.SourcePackageDispatcherClientConfigurations.Any(a => a.EndPoint.ToString() == jT808IPAddressDto.EndPoint.ToString()) ) { jT808ResultDto.Data = false; jT808ResultDto.Message = "不能删除服务器配置的地址"; } else { if (channels.TryRemove(jT808IPAddressDto.EndPoint, out var channel)) { try { await channel.CloseAsync(); } catch (AggregateException ex) { jT808ResultDto.Data = false; jT808ResultDto.Code = JT808ResultCode.Error; jT808ResultDto.Message = JsonConvert.SerializeObject(ex); } catch (Exception ex) { jT808ResultDto.Data = false; jT808ResultDto.Code = JT808ResultCode.Error; jT808ResultDto.Message = JsonConvert.SerializeObject(ex); } } } return(jT808ResultDto); }
public ActionResult <bool> Remove([FromBody] JT808IPAddressDto jT808IPAddressDto) { return(true); }