Update NetRoute.GetBestRouteTemplate()

This commit is contained in:
ChsBuffer
2021-07-05 03:18:15 +08:00
parent 1b19c12824
commit a70b557e0c
2 changed files with 3 additions and 4 deletions

View File

@@ -39,11 +39,11 @@ namespace Netch.Controllers
if (_serverRemoteAddress != null && IPAddress.IsLoopback(_serverRemoteAddress))
_serverRemoteAddress = null;
_outbound = NetRoute.GetBestRouteTemplate(out var address);
_outbound = NetRoute.GetBestRouteTemplate();
CheckDriver();
Dial(NameList.TYPE_ADAPMTU, "1500");
Dial(NameList.TYPE_BYPBIND, address.ToString());
Dial(NameList.TYPE_BYPBIND, _outbound.Gateway);
Dial(NameList.TYPE_BYPLIST, "disabled");
#region Server

View File

@@ -16,12 +16,11 @@ namespace Netch.Models
};
}
public static NetRoute GetBestRouteTemplate(out IPAddress address)
public static NetRoute GetBestRouteTemplate()
{
if (IpHlpApi.GetBestRoute(BitConverter.ToUInt32(IPAddress.Parse("114.114.114.114").GetAddressBytes(), 0), 0, out var route) != 0)
throw new MessageException("GetBestRoute 搜索失败");
address = new IPAddress(route.dwForwardNextHop.S_addr);
var gateway = new IPAddress(route.dwForwardNextHop.S_un_b);
return TemplateBuilder(gateway.ToString(), (int)route.dwForwardIfIndex);
}