diff --git a/SocketBase/Logging/NLogLog.cs b/SocketBase/Logging/NLogLog.cs
index 1451995..e154bd5 100644
--- a/SocketBase/Logging/NLogLog.cs
+++ b/SocketBase/Logging/NLogLog.cs
@@ -156,7 +156,7 @@ public void Error(object message)
/// The exception.
public void Error(object message, Exception exception)
{
- throw new Exception("You have called a method that has not implemented this.");
+ Log.Error($"msg:{message}, exception:{exception.ToString()}");
}
///
diff --git a/SocketEngine/TcpSocketServerBase.cs b/SocketEngine/TcpSocketServerBase.cs
index 54b0329..7ef5a44 100644
--- a/SocketEngine/TcpSocketServerBase.cs
+++ b/SocketEngine/TcpSocketServerBase.cs
@@ -61,7 +61,7 @@ protected IAppSession CreateSession(Socket client, ISocketSession session)
client.IOControl(IOControlCode.KeepAliveValues, m_KeepAliveOptionValues, m_KeepAliveOptionOutValues);
client.NoDelay = m_NoDelay;
- client.LingerState = new LingerOption(enable:true, seconds:0);
+ client.LingerState = new LingerOption(enable:false, seconds:0); // socket 종료하면 즉시 제거한다.
//client.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.DontLinger, true); //닷넷코어에서 사용 불가
return this.AppServer.CreateAppSession(session);
diff --git a/Tutorials/00_superSocketLite_libs/netstandard2.0/SuperSocket.SocketBase.dll b/Tutorials/00_superSocketLite_libs/netstandard2.0/SuperSocket.SocketBase.dll
index 0286284..52ba777 100644
Binary files a/Tutorials/00_superSocketLite_libs/netstandard2.0/SuperSocket.SocketBase.dll and b/Tutorials/00_superSocketLite_libs/netstandard2.0/SuperSocket.SocketBase.dll differ
diff --git a/Tutorials/00_superSocketLite_libs/netstandard2.0/SuperSocket.SocketBase.pdb b/Tutorials/00_superSocketLite_libs/netstandard2.0/SuperSocket.SocketBase.pdb
index 3bd11e6..e13fb6e 100644
Binary files a/Tutorials/00_superSocketLite_libs/netstandard2.0/SuperSocket.SocketBase.pdb and b/Tutorials/00_superSocketLite_libs/netstandard2.0/SuperSocket.SocketBase.pdb differ
diff --git a/Tutorials/EchoServerEx/EchoServerEx.csproj b/Tutorials/EchoServerEx/EchoServerEx.csproj
index 4ffaa37..9cd5df7 100644
--- a/Tutorials/EchoServerEx/EchoServerEx.csproj
+++ b/Tutorials/EchoServerEx/EchoServerEx.csproj
@@ -1,4 +1,4 @@
-
+
Exe
@@ -24,15 +24,9 @@
-
- ..\00_superSocketLite_libs\netstandard2.0\SuperSocket.Common.dll
-
-
- ..\00_superSocketLite_libs\netstandard2.0\SuperSocket.SocketBase.dll
-
-
- ..\00_superSocketLite_libs\netstandard2.0\SuperSocket.SocketEngine.dll
-
+
+
+
diff --git a/Tutorials/EchoServerEx/EchoServerEx.sln b/Tutorials/EchoServerEx/EchoServerEx.sln
index 6cd762c..05d81f4 100644
--- a/Tutorials/EchoServerEx/EchoServerEx.sln
+++ b/Tutorials/EchoServerEx/EchoServerEx.sln
@@ -1,10 +1,18 @@
Microsoft Visual Studio Solution File, Format Version 12.00
-# Visual Studio 15
-VisualStudioVersion = 15.0.28307.168
+# Visual Studio Version 16
+VisualStudioVersion = 16.0.28803.202
MinimumVisualStudioVersion = 10.0.40219.1
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "EchoServerEx", "EchoServerEx.csproj", "{191FCBF6-F42D-401C-9173-F8E096775177}"
EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "SuperSocket", "SuperSocket", "{6277710D-1BD5-4A02-9BF1-7B4B246AED5F}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SuperSocket.Common", "..\..\Common\SuperSocket.Common.csproj", "{82F5EC58-2D97-434B-A78F-49666A79C4A2}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SuperSocket.SocketBase", "..\..\SocketBase\SuperSocket.SocketBase.csproj", "{7E048E3B-2BCE-481B-A37F-13EED4985BF1}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SuperSocket.SocketEngine", "..\..\SocketEngine\SuperSocket.SocketEngine.csproj", "{3CA4886E-FFD8-4342-BAE2-3F97B8E003B0}"
+EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
@@ -15,10 +23,27 @@ Global
{191FCBF6-F42D-401C-9173-F8E096775177}.Debug|Any CPU.Build.0 = Debug|Any CPU
{191FCBF6-F42D-401C-9173-F8E096775177}.Release|Any CPU.ActiveCfg = Release|Any CPU
{191FCBF6-F42D-401C-9173-F8E096775177}.Release|Any CPU.Build.0 = Release|Any CPU
+ {82F5EC58-2D97-434B-A78F-49666A79C4A2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {82F5EC58-2D97-434B-A78F-49666A79C4A2}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {82F5EC58-2D97-434B-A78F-49666A79C4A2}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {82F5EC58-2D97-434B-A78F-49666A79C4A2}.Release|Any CPU.Build.0 = Release|Any CPU
+ {7E048E3B-2BCE-481B-A37F-13EED4985BF1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {7E048E3B-2BCE-481B-A37F-13EED4985BF1}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {7E048E3B-2BCE-481B-A37F-13EED4985BF1}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {7E048E3B-2BCE-481B-A37F-13EED4985BF1}.Release|Any CPU.Build.0 = Release|Any CPU
+ {3CA4886E-FFD8-4342-BAE2-3F97B8E003B0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {3CA4886E-FFD8-4342-BAE2-3F97B8E003B0}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {3CA4886E-FFD8-4342-BAE2-3F97B8E003B0}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {3CA4886E-FFD8-4342-BAE2-3F97B8E003B0}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
+ GlobalSection(NestedProjects) = preSolution
+ {82F5EC58-2D97-434B-A78F-49666A79C4A2} = {6277710D-1BD5-4A02-9BF1-7B4B246AED5F}
+ {7E048E3B-2BCE-481B-A37F-13EED4985BF1} = {6277710D-1BD5-4A02-9BF1-7B4B246AED5F}
+ {3CA4886E-FFD8-4342-BAE2-3F97B8E003B0} = {6277710D-1BD5-4A02-9BF1-7B4B246AED5F}
+ EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {A2804119-9424-4C9F-9A29-D72B9FA068E9}
EndGlobalSection
diff --git a/Tutorials/EchoServerEx/MainServer.cs b/Tutorials/EchoServerEx/MainServer.cs
index e08d994..60e64be 100644
--- a/Tutorials/EchoServerEx/MainServer.cs
+++ b/Tutorials/EchoServerEx/MainServer.cs
@@ -100,7 +100,7 @@ void OnClosed(NetworkSession session, CloseReason reason)
void RequestReceived(NetworkSession session, EFBinaryRequestInfo reqInfo)
{
- MainLogger.Info($"세션 번호 {session.SessionID}, 받은 데이터 크기: {reqInfo.Body.Length}");
+ //MainLogger.Info($"세션 번호 {session.SessionID}, 받은 데이터 크기: {reqInfo.Body.Length}");
var PacketID = reqInfo.PacketID;