内网细节修改

This commit is contained in:
范露尧
2022-10-27 09:24:50 +08:00
parent 1a605509be
commit 2e5e01a35d
10 changed files with 364 additions and 177 deletions

View File

@@ -1,7 +1,7 @@
Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 17
VisualStudioVersion = 17.1.32421.90
# Visual Studio Version 16
VisualStudioVersion = 16.0.31624.102
MinimumVisualStudioVersion = 10.0.40219.1
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Getf_Service_Transfer_core_client", "Getf_Service_Transfer_core_client\Getf_Service_Transfer_core_client.csproj", "{F037E01A-741E-490C-91F0-76D97137DFA6}"
EndProject

View File

@@ -51,15 +51,16 @@ namespace Getf_Service_Transfer_Client_Service_HttpHandler
{
var requestStream = httpWebRequest.GetRequestStream();
SetRequestStream(httpWebRequest, requestStream, jObject, encoding);
r = GetResponse(httpWebRequest, encoding);
r = GetResponse(httpWebRequest, jObject, encoding);
requestStream.Close();
requestStream.Dispose();
}
else
{
r = GetResponse(httpWebRequest, encoding);
r = GetResponse(httpWebRequest, null, encoding);
}
msg = String.Empty;
_LogHelper.Info($"93段接口:method:{method},url:{url},参数:{jObject["Data"]},结果:{r}");
return r;
}
catch (WebException e)
@@ -72,20 +73,20 @@ namespace Getf_Service_Transfer_Client_Service_HttpHandler
using (StreamReader streamReader = new StreamReader(stream))
{
msg += streamReader.ReadToEnd();
_LogHelper.Info("请求错误原因为:" + msg);
_LogHelper.Info("1:请求错误原因为:" + msg);
}
}
else
{
msg += e.Message;
_LogHelper.Info("请求错误原因为:" + msg);
_LogHelper.Info("2:请求错误原因为:" + msg);
}
}
}
catch (Exception e)
{
msg = e.Message;
_LogHelper.Info("请求错误原因为:" + msg);
_LogHelper.Info("3:请求错误原因为:" + msg);
}
return null;
}
@@ -126,12 +127,21 @@ namespace Getf_Service_Transfer_Client_Service_HttpHandler
{
var param = jObject["Param"]?.Value<string>() ?? String.Empty;
streamWrite.Write(param);
var jdata = jObject["Data"];
if (jdata != null)
{
var Data = jdata.ToString();
var _bytes = encoding.GetBytes(Data);
httpWebRequest.ContentLength = _bytes.Length;
requestStream.Write(_bytes, 0, _bytes.Length);
}
}
}
private static readonly string[] TextContentTypes = new string[] { "application/json", "text/html" };
private object GetResponse(HttpWebRequest httpWebRequest, Encoding encoding)
private object GetResponse(HttpWebRequest httpWebRequest, JObject jObject, Encoding encoding)
{
var response = httpWebRequest.GetResponse();
using (var stream = response.GetResponseStream())

View File

@@ -69,7 +69,10 @@ namespace Getf_Service_Transfer_Client_coreService
private void StartNewEasyClient()
{
if (TcpClient == null || !TcpClient.IsConnected)
TcpClient = new TcpClient(Ip, Port, OnDataGeted, OnConnected, OnClosed, OnError);
else
_LogHelper.Info("已存在可用连接");
}
private void OnDataGeted(TransInfo transInfo)
@@ -129,7 +132,7 @@ namespace Getf_Service_Transfer_Client_coreService
ReStart();
}
private void OnError(object sender, EventArgs e)
private void OnError(object sender, ErrorEventArgs e)
{
string warn = "连接出错,原因为:" + ((ErrorEventArgs)e).Exception.Message;
warn.LogWarning();
@@ -139,7 +142,7 @@ namespace Getf_Service_Transfer_Client_coreService
private void ReStart()
{
Thread.Sleep(5000);
//Thread.Sleep(5000);
StartNewEasyClient();
}
@@ -164,16 +167,21 @@ namespace Getf_Service_Transfer_Client_coreService
HeartThread = new Thread(() =>
{
//_LogHelper.Info("开始发送心跳包");
while (true)
{
if ((DateTime.Now - LastRecvTime).TotalMinutes > 10)
//_LogHelper.Info("开始发送心跳包1");
if ((DateTime.Now - LastRecvTime).TotalMinutes > 1)
{
_LogHelper.Info("超过一分钟没收到心跳包的反馈信息");
_LogHelper.Error("超过一分钟没收到心跳包的反馈信息");
TcpClient.HeartLost();
}
if (TcpClient.IsConnected)
{
//_LogHelper.Info("存在连接,开始发送心跳包");
SendHeart();
//_LogHelper.Info("存在连接,发送心跳包完成");
}
Thread.Sleep(5 * 1000);
}

View File

@@ -4,6 +4,16 @@
<TargetFramework>net5.0</TargetFramework>
</PropertyGroup>
<ItemGroup>
<None Remove="applicationconfig.json" />
</ItemGroup>
<ItemGroup>
<Content Include="applicationconfig.json">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
</ItemGroup>
<ItemGroup>
<PackageReference Include="Furion" Version="4.6.5" />
<PackageReference Include="log4net" Version="2.0.15" />
@@ -12,10 +22,4 @@
<PackageReference Include="SuperSocket.ProtoBase" Version="1.7.0.17" />
</ItemGroup>
<ItemGroup>
<None Update="applicationconfig.json">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
</ItemGroup>
</Project>

View File

@@ -20,7 +20,7 @@ namespace Getf_Service_Transfer_Client_coreService
Action<object, EventArgs> OnClosed;
public bool IsConnected { get { return EasyClient.IsConnected; } }
public TcpClient(string ip, int port, Action<TransInfo> onDataGeted, Action<object, EventArgs> onConnected, Action<object, EventArgs> onClosed, Action<object, EventArgs> onError)
public TcpClient(string ip, int port, Action<TransInfo> onDataGeted, Action<object, EventArgs> onConnected, Action<object, EventArgs> onClosed, Action<object, ErrorEventArgs> onError)
{
Ip = ip;
Port = port;

View File

@@ -17,11 +17,13 @@
]
},
"Target": {
"ServiceAddressInfo": "127.0.0.1:8111", //目标服务器地址
"DataHandlerClassInfo": "Getf_Service_Transfer_Client_Service_HttpHandler.HttpDataHandler,Getf_Service_Transfer_Client_Service_HttpHandler",
"AppID": "test",
"AppSecret": "b7ybdg482IXFsojQ4feDHf4NaiSLRtFjL7MVI6ysnvjrZ6jikFX74tVZhZKYG23A",
"Key": "TVgSoGYNJrnU7Kg6Csuodh4IdxqZGxpEJAdRlEcTn72KlUgAiHcr7bdxLKFf9pJ6"
"ServiceAddressInfo": "127.0.0.1:8002", //目标服务器地址
"ServiceAddressInfo2": "10.19.94.135:8002", //目标服务器地址
"ServiceAddressInfo3": "115.238.132.35:6000", //目标服务器地址
"DataHandlerClassInfo": "Getf_Service_Transfer_Client_Service_HttpHandler.HttpJsonDataHandler,Getf_Service_Transfer_Client_Service_HttpHandler",
"AppID": "Reg.Custom.SourceCode",
"AppSecret": "ab2cb0aa78cb986d3d05059b8f9bafee",
"Key": "86bf52124bc423351c9da81cb3dd8c94"
},
"Logging": {
"LogLevel": {

View File

@@ -0,0 +1,14 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net5.0</TargetFramework>
<ApplicationIcon />
<OutputType>Exe</OutputType>
<StartupObject />
</PropertyGroup>
<ItemGroup>
<ProjectReference Include="..\Getf_Service_Transfer_core_client\Getf_Service_Transfer_core_client.csproj" />
</ItemGroup>
</Project>

View File

@@ -9,10 +9,17 @@
<PackageReference Include="Microsoft.Extensions.Hosting" Version="5.0.0" />
<PackageReference Include="Microsoft.Extensions.Hosting.Systemd" Version="5.0.1" />
<PackageReference Include="Microsoft.Extensions.Hosting.WindowsServices" Version="5.0.1" />
<PackageReference Include="Microsoft.Extensions.Logging.Log4Net.AspNetCore" Version="6.1.0" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\Getf_Service_Transfer_Client_coreService\Getf_Service_Transfer_Client_coreService.csproj" />
<ProjectReference Include="..\Getf_Service_Transfer_Client_Service_HttpHandler\Getf_Service_Transfer_Client_Service_HttpHandler.csproj" />
</ItemGroup>
<ItemGroup>
<Content Update="log4net.config">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
</ItemGroup>
</Project>

View File

@@ -44,8 +44,16 @@ namespace Getf_Service_Transfer_core_client
};
});
// services.AddHostedService<Worker>();
})//配置log4net
.ConfigureLogging(p =>
{
p.AddFilter("System", LogLevel.Warning); //过滤掉系统默认的一些日志
p.AddFilter("Microsoft", LogLevel.Warning);//过滤掉系统默认的一些日志
var path = AppContext.BaseDirectory + "\\log4net.config";
//不带参数表示log4net.config的配置文件就在应用程序根目录下也可以指定配置文件的路径
p.AddLog4Net(path);
})
//.UseWindowsService() ///windows部署
.UseSystemd(); //LIUNX部署
.UseWindowsService(); ///windows部署
// .UseSystemd(); //LIUNX部署
}
}

View File

@@ -0,0 +1,134 @@
<log4net>
<appender name="Console" type="log4net.Appender.ConsoleAppender">
<layout type="log4net.Layout.PatternLayout">
<!-- Pattern to output the caller's file name and line number -->
<conversionPattern value="%date %5level %logger.%method [%line] - MESSAGE: %message%newline %exception" />
</layout>
</appender>
<appender name="RollingFileError" type="log4net.Appender.RollingFileAppender">
<file value="logs\\" />
<appendToFile value="true" />
<rollingStyle value="Composite"/>
<datePattern value="yyyy\\MM\\yyyyMMdd'_error.txt'"/>
<staticLogFileName value="false" />
<maximumFileSize value="50MB" />
<maxSizeRollBackups value="200" />
<filter type="log4net.Filter.LevelRangeFilter">
<levelMin value="ERROR" />
<levelMax value="FATAL" />
</filter>
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date %5level %logger.%method [%line] - MESSAGE: %message%newline %exception" />
</layout>
</appender>
<!--<appender name="RollingFileInfo" type="log4net.Appender.RollingFileAppender">
<file value="logs\\" />
<appendToFile value="true" />
<rollingStyle value="date"/>
<datePattern value="yyyy\\MM\\yyyyMMdd'_info.txt'"/>
<staticLogFileName value="false" />
<filter type="log4net.Filter.LevelRangeFilter">
<levelMin value="Info" />
<levelMax value="Info" />
</filter>
<maximumFileSize value="100MB" />
<maxSizeRollBackups value="200" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date %5level %logger.%method [%line] - MESSAGE: %message%newline %exception" />
</layout>
</appender>
<appender name="RollingFileWarn" type="log4net.Appender.RollingFileAppender">
<file value="logs\\" />
<appendToFile value="true" />
<rollingStyle value="date"/>
<datePattern value="yyyy\\MM\\yyyyMMdd'_warn.txt'"/>
<staticLogFileName value="false" />
<filter type="log4net.Filter.LevelRangeFilter">
<levelMin value="WARN" />
<levelMax value="WARN" />
</filter>
<maximumFileSize value="100MB" />
<maxSizeRollBackups value="200" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date %5level %logger.%method [%line] - MESSAGE: %message%newline %exception" />
</layout>
</appender>
<appender name="RollingFileDebug" type="log4net.Appender.RollingFileAppender">
<file value="logs\\" />
<appendToFile value="true" />
<rollingStyle value="date"/>
<datePattern value="yyyy\\MM\\yyyyMMdd'_debug.txt'"/>
<staticLogFileName value="false" />
<filter type="log4net.Filter.LevelRangeFilter">
<levelMin value="Debug" />
<levelMax value="Debug" />
</filter>
<maximumFileSize value="100MB" />
<maxSizeRollBackups value="200" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date %5level %logger.%method [%line] - MESSAGE: %message%newline %exception" />
</layout>
</appender>-->
<appender name="RollingFileAll" type="log4net.Appender.RollingFileAppender">
<file value="logs\\" />
<appendToFile value="true" />
<rollingStyle value="Composite"/>
<datePattern value="yyyy\\MM\\yyyyMMdd'.txt'"/>
<staticLogFileName value="false" />
<maximumFileSize value="50MB" />
<maxSizeRollBackups value="200" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date %5level %logger.%method [%line] - MESSAGE: %message%newline %exception" />
</layout>
</appender>
<!--<appender name="RollingFileAll" type="log4net.Appender.RollingFileAppender">
<file value="logs\\" />
<appendToFile value="true" />
<rollingStyle value="date"/>
<datePattern value="yyyy\\MM\\yyyyMMdd'.txt'"/>
<staticLogFileName value="false" />
<maximumFileSize value="100KB" />
<maxSizeRollBackups value="2" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date %5level %logger.%method [%line] - MESSAGE: %message%newline %exception" />
</layout>
</appender>-->
<appender name="TraceAppender" type="log4net.Appender.TraceAppender">
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date %5level %logger.%method [%line] - MESSAGE: %message%newline %exception" />
</layout>
</appender>
<appender name="ConsoleAppender" type="log4net.Appender.ManagedColoredConsoleAppender">
<mapping>
<level value="ERROR" />
<foreColor value="Red" />
</mapping>
<mapping>
<level value="WARN" />
<foreColor value="Yellow" />
</mapping>
<mapping>
<level value="INFO" />
<foreColor value="White" />
</mapping>
<mapping>
<level value="DEBUG" />
<foreColor value="Green" />
</mapping>
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date %5level %logger.%method [%line] - MESSAGE: %message%newline %exception" />
</layout>
</appender>
<root>
<level value="TRACE" />
<appender-ref ref="RollingFileError" />
<!--<appender-ref ref="RollingFileInfo" />
<appender-ref ref="RollingFileWarn" />
<appender-ref ref="RollingFileDebug" />-->
<appender-ref ref="RollingFileAll" />
<appender-ref ref="TraceAppender" />
<appender-ref ref="ConsoleAppender" />
</root>
</log4net>