diff --git a/.github/workflows/dotnet.yml b/.github/workflows/dotnet.yml
new file mode 100644
index 000000000..640d5825f
--- /dev/null
+++ b/.github/workflows/dotnet.yml
@@ -0,0 +1,31 @@
+name: Build and Publish to Nuget
+
+on:
+ push:
+ branches: [ "master" ]
+ pull_request:
+ branches: [ "master" ]
+
+jobs:
+ build:
+
+ runs-on: ubuntu-latest
+
+ steps:
+ - uses: actions/checkout@v3
+ - name: Setup .NET
+ uses: actions/setup-dotnet@v2
+ with:
+ dotnet-version: 6.0.x
+ - name: Restore dependencies
+ run: dotnet restore
+ - name: Build
+ run: dotnet build --no-restore
+ - name: Test
+ run: dotnet test --no-build --verbosity normal
+ - name: Publish
+ uses: brandedoutcast/publish-nuget@v2.5.2
+ with:
+ PROJECT_FILE_PATH: websocket-sharp/websocket-sharp.csproj
+ NUGET_KEY: ${{ secrets.NUGET_API_KEY }}
+
diff --git a/.vs/websocket-sharp/config/applicationhost.config b/.vs/websocket-sharp/config/applicationhost.config
new file mode 100644
index 000000000..71f66965f
--- /dev/null
+++ b/.vs/websocket-sharp/config/applicationhost.config
@@ -0,0 +1,962 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Example/AssemblyInfo.cs b/Example/AssemblyInfo.cs
deleted file mode 100644
index 9a9617356..000000000
--- a/Example/AssemblyInfo.cs
+++ /dev/null
@@ -1,26 +0,0 @@
-using System.Reflection;
-using System.Runtime.CompilerServices;
-
-// Information about this assembly is defined by the following attributes.
-// Change them to the values specific to your project.
-
-[assembly: AssemblyTitle("Example")]
-[assembly: AssemblyDescription("")]
-[assembly: AssemblyConfiguration("")]
-[assembly: AssemblyCompany("")]
-[assembly: AssemblyProduct("")]
-[assembly: AssemblyCopyright("sta.blockhead")]
-[assembly: AssemblyTrademark("")]
-[assembly: AssemblyCulture("")]
-
-// The assembly version has the format "{Major}.{Minor}.{Build}.{Revision}".
-// The form "{Major}.{Minor}.*" will automatically update the build and revision,
-// and "{Major}.{Minor}.{Build}.*" will update just the revision.
-
-[assembly: AssemblyVersion("1.0.*")]
-
-// The following attributes are used to specify the signing key for the assembly,
-// if desired. See the Mono documentation for more information about signing.
-
-//[assembly: AssemblyDelaySign(false)]
-//[assembly: AssemblyKeyFile("")]
diff --git a/Example/Example.csproj b/Example/Example.csproj
index ee89d9f6e..6c21f3e29 100644
--- a/Example/Example.csproj
+++ b/Example/Example.csproj
@@ -1,65 +1,18 @@
-
-
-
- Debug
- AnyCPU
- 9.0.21022
- 2.0
- {52805AEC-EFB1-4F42-BB8E-3ED4E692C568}
- Exe
- Example
- example
- v3.5
-
-
- true
- full
- false
- bin\Debug
- DEBUG
- prompt
- 4
- true
-
-
- none
- false
- bin\Release
- prompt
- 4
- true
-
-
- true
- full
- false
- bin\Debug_Ubuntu
- DEBUG
- prompt
- 4
- true
-
-
- none
- false
- bin\Release_Ubuntu
- prompt
- 4
- true
-
-
-
-
-
-
-
- {B357BAC7-529E-4D81-A0D2-71041B19C8DE}
- websocket-sharp
-
-
-
-
-
-
-
-
\ No newline at end of file
+
+
+
+ .net6.0
+ enable
+ enable
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Example2/App.config b/Example2/App.config
deleted file mode 100644
index 3a02690ea..000000000
--- a/Example2/App.config
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
-
-
-
-
-
diff --git a/Example2/AssemblyInfo.cs b/Example2/AssemblyInfo.cs
deleted file mode 100644
index 55cd94f77..000000000
--- a/Example2/AssemblyInfo.cs
+++ /dev/null
@@ -1,26 +0,0 @@
-using System.Reflection;
-using System.Runtime.CompilerServices;
-
-// Information about this assembly is defined by the following attributes.
-// Change them to the values specific to your project.
-
-[assembly: AssemblyTitle("Example2")]
-[assembly: AssemblyDescription("")]
-[assembly: AssemblyConfiguration("")]
-[assembly: AssemblyCompany("")]
-[assembly: AssemblyProduct("")]
-[assembly: AssemblyCopyright("sta.blockhead")]
-[assembly: AssemblyTrademark("")]
-[assembly: AssemblyCulture("")]
-
-// The assembly version has the format "{Major}.{Minor}.{Build}.{Revision}".
-// The form "{Major}.{Minor}.*" will automatically update the build and revision,
-// and "{Major}.{Minor}.{Build}.*" will update just the revision.
-
-[assembly: AssemblyVersion("1.0.*")]
-
-// The following attributes are used to specify the signing key for the assembly,
-// if desired. See the Mono documentation for more information about signing.
-
-//[assembly: AssemblyDelaySign(false)]
-//[assembly: AssemblyKeyFile("")]
diff --git a/Example2/Example2.csproj b/Example2/Example2.csproj
index 685a1ef6d..2fe06c7bc 100644
--- a/Example2/Example2.csproj
+++ b/Example2/Example2.csproj
@@ -1,70 +1,20 @@
-
-
-
- Debug
- AnyCPU
- 9.0.21022
- 2.0
- {B81A24C8-25BB-42B2-AF99-1E1EACCE74C7}
- Exe
- Example2
- example2
- v3.5
-
-
- true
- full
- false
- bin\Debug
- DEBUG;
- prompt
- 4
- true
-
-
- none
- false
- bin\Release
- prompt
- 4
- true
-
-
- true
- full
- false
- bin\Debug_Ubuntu
- DEBUG;
- prompt
- 4
- true
-
-
- none
- false
- bin\Release_Ubuntu
- prompt
- 4
- true
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- {B357BAC7-529E-4D81-A0D2-71041B19C8DE}
- websocket-sharp
-
-
-
-
-
-
\ No newline at end of file
+
+
+
+ .net6.0
+ enable
+ enable
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Example2/Program.cs b/Example2/Program.cs
index 7b024a0ee..74deec19c 100644
--- a/Example2/Program.cs
+++ b/Example2/Program.cs
@@ -1,3 +1,4 @@
+using Microsoft.Extensions.Configuration;
using System;
using System.Configuration;
using System.Security.Cryptography.X509Certificates;
@@ -11,13 +12,20 @@ public class Program
{
public static void Main (string[] args)
{
- // Create a new instance of the WebSocketServer class.
- //
- // If you would like to provide the secure connection, you should
- // create a new instance with the 'secure' parameter set to true or
- // with a wss scheme WebSocket URL.
- var wssv = new WebSocketServer (4649);
+ IConfiguration appConfig = new ConfigurationBuilder()
+ .AddJsonFile("config.json", true, true)
+ .AddEnvironmentVariables()
+ .Build();
+
+
+ // Create a new instance of the WebSocketServer class.
+ //
+ // If you would like to provide the secure connection, you should
+ // create a new instance with the 'secure' parameter set to true or
+ // with a wss scheme WebSocket URL.
+
+ var wssv = new WebSocketServer (4649);
//var wssv = new WebSocketServer (5963, true);
//var wssv = new WebSocketServer (System.Net.IPAddress.Any, 4649);
@@ -50,38 +58,38 @@ public static void Main (string[] args)
// To change the logging level.
wssv.Log.Level = LogLevel.Trace;
- // To change the wait time for the response to the WebSocket Ping or Close.
- //wssv.WaitTime = TimeSpan.FromSeconds (2);
+ // To change the wait time for the response to the WebSocket Ping or Close.
+ //wssv.WaitTime = TimeSpan.FromSeconds (2);
- // Not to remove the inactive sessions periodically.
- //wssv.KeepClean = false;
+ // Not to remove the inactive sessions periodically.
+ //wssv.KeepClean = false;
#endif
- // To provide the secure connection.
- /*
- var cert = ConfigurationManager.AppSettings["ServerCertFile"];
- var passwd = ConfigurationManager.AppSettings["CertFilePassword"];
- wssv.SslConfiguration.ServerCertificate = new X509Certificate2 (cert, passwd);
- */
+ // To provide the secure connection.
- // To provide the HTTP Authentication (Basic/Digest).
- /*
- wssv.AuthenticationSchemes = AuthenticationSchemes.Basic;
- wssv.Realm = "WebSocket Test";
- wssv.UserCredentialsFinder = id => {
- var name = id.Name;
-
- // Return user name, password, and roles.
- return name == "nobita"
- ? new NetworkCredential (name, "password", "gunfighter")
- : null; // If the user credentials are not found.
- };
- */
+ //var cert = appConfig["ServerCertFile"];
+ //var passwd = appConfig["CertFilePassword"];
+ //wssv.SslConfiguration.ServerCertificate = new X509Certificate2(cert, passwd);
+
+
+ // To provide the HTTP Authentication (Basic/Digest).
+ /*
+ wssv.AuthenticationSchemes = AuthenticationSchemes.Basic;
+ wssv.Realm = "WebSocket Test";
+ wssv.UserCredentialsFinder = id => {
+ var name = id.Name;
+
+ // Return user name, password, and roles.
+ return name == "nobita"
+ ? new NetworkCredential (name, "password", "gunfighter")
+ : null; // If the user credentials are not found.
+ };
+ */
- // To resolve to wait for socket in TIME_WAIT state.
- //wssv.ReuseAddress = true;
+ // To resolve to wait for socket in TIME_WAIT state.
+ //wssv.ReuseAddress = true;
- // Add the WebSocket services.
- wssv.AddWebSocketService ("/Echo");
+ // Add the WebSocket services.
+ wssv.AddWebSocketService ("/Echo");
wssv.AddWebSocketService ("/Chat");
// Add the WebSocket service with initializing.
diff --git a/Example2/config.json b/Example2/config.json
new file mode 100644
index 000000000..7f802ac46
--- /dev/null
+++ b/Example2/config.json
@@ -0,0 +1,4 @@
+{
+ "CertFilePassword": "password",
+ "ServerCertFile": "/path/to/cert.pfx"
+}
\ No newline at end of file
diff --git a/Example3/App.config b/Example3/App.config
deleted file mode 100644
index fa624b42b..000000000
--- a/Example3/App.config
+++ /dev/null
@@ -1,8 +0,0 @@
-
-
-
-
-
-
-
-
diff --git a/Example3/AssemblyInfo.cs b/Example3/AssemblyInfo.cs
deleted file mode 100644
index b9a88a257..000000000
--- a/Example3/AssemblyInfo.cs
+++ /dev/null
@@ -1,26 +0,0 @@
-using System.Reflection;
-using System.Runtime.CompilerServices;
-
-// Information about this assembly is defined by the following attributes.
-// Change them to the values specific to your project.
-
-[assembly: AssemblyTitle("Example3")]
-[assembly: AssemblyDescription("")]
-[assembly: AssemblyConfiguration("")]
-[assembly: AssemblyCompany("")]
-[assembly: AssemblyProduct("")]
-[assembly: AssemblyCopyright("sta.blockhead")]
-[assembly: AssemblyTrademark("")]
-[assembly: AssemblyCulture("")]
-
-// The assembly version has the format "{Major}.{Minor}.{Build}.{Revision}".
-// The form "{Major}.{Minor}.*" will automatically update the build and revision,
-// and "{Major}.{Minor}.{Build}.*" will update just the revision.
-
-[assembly: AssemblyVersion("1.0.*")]
-
-// The following attributes are used to specify the signing key for the assembly,
-// if desired. See the Mono documentation for more information about signing.
-
-//[assembly: AssemblyDelaySign(false)]
-//[assembly: AssemblyKeyFile("")]
diff --git a/Example3/Example3.csproj b/Example3/Example3.csproj
index ce4fe265c..898402425 100644
--- a/Example3/Example3.csproj
+++ b/Example3/Example3.csproj
@@ -1,76 +1,20 @@
-
-
-
- Debug
- AnyCPU
- 9.0.21022
- 2.0
- {C648BA25-77E5-4A40-A97F-D0AA37B9FB26}
- Exe
- Example3
- example3
- v3.5
-
-
- true
- full
- false
- bin\Debug
- DEBUG;
- prompt
- 4
- true
-
-
- none
- false
- bin\Release
- prompt
- 4
- true
-
-
- true
- full
- false
- bin\Debug_Ubuntu
- DEBUG;
- prompt
- 4
- true
-
-
- none
- false
- bin\Release_Ubuntu
- prompt
- 4
- true
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- {B357BAC7-529E-4D81-A0D2-71041B19C8DE}
- websocket-sharp
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
+
+
+
+ .net6.0
+ enable
+ enable
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Example3/Program.cs b/Example3/Program.cs
index b338e10b3..df66dbbc3 100644
--- a/Example3/Program.cs
+++ b/Example3/Program.cs
@@ -1,3 +1,4 @@
+using Microsoft.Extensions.Configuration;
using System;
using System.Configuration;
using System.Security.Cryptography.X509Certificates;
@@ -12,13 +13,18 @@ public class Program
{
public static void Main (string[] args)
{
- // Create a new instance of the HttpServer class.
- //
- // If you would like to provide the secure connection, you should
- // create a new instance with the 'secure' parameter set to true or
- // with an https scheme HTTP URL.
-
- var httpsv = new HttpServer (4649);
+ IConfiguration appConfig = new ConfigurationBuilder()
+ .AddJsonFile("config.json", true, true)
+ .AddEnvironmentVariables()
+ .Build();
+
+ // Create a new instance of the HttpServer class.
+ //
+ // If you would like to provide the secure connection, you should
+ // create a new instance with the 'secure' parameter set to true or
+ // with an https scheme HTTP URL.
+
+ var httpsv = new HttpServer (4649);
//var httpsv = new HttpServer (5963, true);
//var httpsv = new HttpServer (System.Net.IPAddress.Any, 4649);
@@ -51,38 +57,38 @@ public static void Main (string[] args)
// To change the logging level.
httpsv.Log.Level = LogLevel.Trace;
- // To change the wait time for the response to the WebSocket Ping or Close.
- //httpsv.WaitTime = TimeSpan.FromSeconds (2);
+ // To change the wait time for the response to the WebSocket Ping or Close.
+ //httpsv.WaitTime = TimeSpan.FromSeconds (2);
- // Not to remove the inactive WebSocket sessions periodically.
- //httpsv.KeepClean = false;
+ // Not to remove the inactive WebSocket sessions periodically.
+ //httpsv.KeepClean = false;
#endif
- // To provide the secure connection.
- /*
- var cert = ConfigurationManager.AppSettings["ServerCertFile"];
- var passwd = ConfigurationManager.AppSettings["CertFilePassword"];
- httpsv.SslConfiguration.ServerCertificate = new X509Certificate2 (cert, passwd);
- */
+ // To provide the secure connection.
- // To provide the HTTP Authentication (Basic/Digest).
- /*
- httpsv.AuthenticationSchemes = AuthenticationSchemes.Basic;
- httpsv.Realm = "WebSocket Test";
- httpsv.UserCredentialsFinder = id => {
- var name = id.Name;
-
- // Return user name, password, and roles.
- return name == "nobita"
- ? new NetworkCredential (name, "password", "gunfighter")
- : null; // If the user credentials are not found.
- };
- */
+ //var cert = appConfig["ServerCertFile"];
+ //var passwd = appConfig["CertFilePassword"];
+ //httpsv.SslConfiguration.ServerCertificate = new X509Certificate2(cert, passwd);
+
+
+ // To provide the HTTP Authentication (Basic/Digest).
+ /*
+ httpsv.AuthenticationSchemes = AuthenticationSchemes.Basic;
+ httpsv.Realm = "WebSocket Test";
+ httpsv.UserCredentialsFinder = id => {
+ var name = id.Name;
+
+ // Return user name, password, and roles.
+ return name == "nobita"
+ ? new NetworkCredential (name, "password", "gunfighter")
+ : null; // If the user credentials are not found.
+ };
+ */
- // To resolve to wait for socket in TIME_WAIT state.
- //httpsv.ReuseAddress = true;
+ // To resolve to wait for socket in TIME_WAIT state.
+ //httpsv.ReuseAddress = true;
- // Set the document root path.
- httpsv.DocumentRootPath = ConfigurationManager.AppSettings["DocumentRootPath"];
+ // Set the document root path.
+ httpsv.DocumentRootPath = appConfig["DocumentRootPath"];
// Set the HTTP GET request event.
httpsv.OnGet += (sender, e) => {
diff --git a/Example3/config.json b/Example3/config.json
new file mode 100644
index 000000000..63f1f2a6b
--- /dev/null
+++ b/Example3/config.json
@@ -0,0 +1,5 @@
+{
+ "CertFilePassword": "password",
+ "ServerCertFile": "/path/to/cert.pfx",
+ "DocumentRootPath": "../../Public"
+}
\ No newline at end of file
diff --git a/README.md b/README.md
index 27fb489d3..f4f27880e 100644
--- a/README.md
+++ b/README.md
@@ -1,7 +1,10 @@

-## Welcome to websocket-sharp! ##
+# Welcome to websocket-sharp! #
+## Important Notes ##
+## Original repository is not updated to be used with .Net Core. There was a PR, but looks like it was not yet merged even after an year. I have created this fork and updated all references to .Net Standard 2.1 and published the nuget package. All example projects also updated to .Net 6.0. ##
+
websocket-sharp supports:
- [RFC 6455](#supported-websocket-specifications)
@@ -13,12 +16,6 @@ websocket-sharp supports:
- [Connecting through the HTTP proxy server](#connecting-through-the-http-proxy-server)
- .NET Framework **3.5** or later (includes compatible environment such as [Mono])
-## Branches ##
-
-- [master] for production releases.
-- [hybi-00] for older [draft-ietf-hybi-thewebsocketprotocol-00]. No longer maintained.
-- [draft75] for even more old [draft-hixie-thewebsocketprotocol-75]. No longer maintained.
-
## Build ##
websocket-sharp is built as a single assembly, **websocket-sharp.dll**.
@@ -27,40 +24,15 @@ websocket-sharp is developed with [MonoDevelop]. So a simple way to build is to
## Install ##
-### Self Build ###
-
-You should add your websocket-sharp.dll (e.g. `/path/to/websocket-sharp/bin/Debug/websocket-sharp.dll`) to the library references of your project.
-
-If you would like to use that dll in your [Unity] project, you should add it to any folder of your project (e.g. `Assets/Plugins`) in the **Unity Editor**.
-
### NuGet Gallery ###
-websocket-sharp is available on the [NuGet Gallery], as still a **prerelease** version.
+websocket-sharp is available on the [NuGet Gallery]
-- [NuGet Gallery: websocket-sharp]
+- [NuGet Gallery: websocket-sharp-core-netstandard]
You can add websocket-sharp to your project with the NuGet Package Manager, by using the following command in the Package Manager Console.
- PM> Install-Package WebSocketSharp -Pre
-
-### Unity Asset Store ###
-
-websocket-sharp is available on the Unity Asset Store (Sorry, Not available now).
-
-- [WebSocket-Sharp for Unity]
-
-It works with **Unity Free**, but there are some limitations:
-
-- [Security Sandbox of the Webplayer] (The server is not available in Web Player)
-- [WebGL Networking] (Not available in WebGL)
-- Incompatible platform (Not available for such UWP)
-- Lack of dll for the System.IO.Compression (The compression extension is not available on Windows)
-- .NET Socket Support for iOS/Android (iOS/Android Pro is required if your Unity is earlier than Unity 5)
-- .NET API 2.0 compatibility level for iOS/Android
-
-.NET API 2.0 compatibility level for iOS/Android may require to fix lack of some features for later than .NET Framework 2.0, such as the `System.Func<...>` delegates (so i have added them in the asset package).
-
-And it is priced at **US$15**. I believe your $15 makes this project more better, **Thank you!**
+ PM> Install-Package websocket-sharp-core-netstandard -Version 1.0.0
## Usage ##
diff --git a/websocket-sharp.sln b/websocket-sharp.sln
index 6ff1c0362..da4379805 100644
--- a/websocket-sharp.sln
+++ b/websocket-sharp.sln
@@ -1,7 +1,9 @@
-Microsoft Visual Studio Solution File, Format Version 10.00
-# Visual Studio 2008
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "websocket-sharp", "websocket-sharp\websocket-sharp.csproj", "{B357BAC7-529E-4D81-A0D2-71041B19C8DE}"
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio Version 17
+VisualStudioVersion = 17.1.32407.343
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "websocket-sharp", "websocket-sharp\websocket-sharp.csproj", "{B357BAC7-529E-4D81-A0D2-71041B19C8DE}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Example", "Example\Example.csproj", "{52805AEC-EFB1-4F42-BB8E-3ED4E692C568}"
EndProject
@@ -11,20 +13,12 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Example3", "Example3\Exampl
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
- Debug|Any CPU = Debug|Any CPU
- Release|Any CPU = Release|Any CPU
Debug_Ubuntu|Any CPU = Debug_Ubuntu|Any CPU
+ Debug|Any CPU = Debug|Any CPU
Release_Ubuntu|Any CPU = Release_Ubuntu|Any CPU
+ Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
- {52805AEC-EFB1-4F42-BB8E-3ED4E692C568}.Debug_Ubuntu|Any CPU.ActiveCfg = Debug_Ubuntu|Any CPU
- {52805AEC-EFB1-4F42-BB8E-3ED4E692C568}.Debug_Ubuntu|Any CPU.Build.0 = Debug_Ubuntu|Any CPU
- {52805AEC-EFB1-4F42-BB8E-3ED4E692C568}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {52805AEC-EFB1-4F42-BB8E-3ED4E692C568}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {52805AEC-EFB1-4F42-BB8E-3ED4E692C568}.Release_Ubuntu|Any CPU.ActiveCfg = Release_Ubuntu|Any CPU
- {52805AEC-EFB1-4F42-BB8E-3ED4E692C568}.Release_Ubuntu|Any CPU.Build.0 = Release_Ubuntu|Any CPU
- {52805AEC-EFB1-4F42-BB8E-3ED4E692C568}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {52805AEC-EFB1-4F42-BB8E-3ED4E692C568}.Release|Any CPU.Build.0 = Release|Any CPU
{B357BAC7-529E-4D81-A0D2-71041B19C8DE}.Debug_Ubuntu|Any CPU.ActiveCfg = Debug_Ubuntu|Any CPU
{B357BAC7-529E-4D81-A0D2-71041B19C8DE}.Debug_Ubuntu|Any CPU.Build.0 = Debug_Ubuntu|Any CPU
{B357BAC7-529E-4D81-A0D2-71041B19C8DE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
@@ -33,6 +27,14 @@ Global
{B357BAC7-529E-4D81-A0D2-71041B19C8DE}.Release_Ubuntu|Any CPU.Build.0 = Release_Ubuntu|Any CPU
{B357BAC7-529E-4D81-A0D2-71041B19C8DE}.Release|Any CPU.ActiveCfg = Release|Any CPU
{B357BAC7-529E-4D81-A0D2-71041B19C8DE}.Release|Any CPU.Build.0 = Release|Any CPU
+ {52805AEC-EFB1-4F42-BB8E-3ED4E692C568}.Debug_Ubuntu|Any CPU.ActiveCfg = Debug_Ubuntu|Any CPU
+ {52805AEC-EFB1-4F42-BB8E-3ED4E692C568}.Debug_Ubuntu|Any CPU.Build.0 = Debug_Ubuntu|Any CPU
+ {52805AEC-EFB1-4F42-BB8E-3ED4E692C568}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {52805AEC-EFB1-4F42-BB8E-3ED4E692C568}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {52805AEC-EFB1-4F42-BB8E-3ED4E692C568}.Release_Ubuntu|Any CPU.ActiveCfg = Release_Ubuntu|Any CPU
+ {52805AEC-EFB1-4F42-BB8E-3ED4E692C568}.Release_Ubuntu|Any CPU.Build.0 = Release_Ubuntu|Any CPU
+ {52805AEC-EFB1-4F42-BB8E-3ED4E692C568}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {52805AEC-EFB1-4F42-BB8E-3ED4E692C568}.Release|Any CPU.Build.0 = Release|Any CPU
{B81A24C8-25BB-42B2-AF99-1E1EACCE74C7}.Debug_Ubuntu|Any CPU.ActiveCfg = Debug_Ubuntu|Any CPU
{B81A24C8-25BB-42B2-AF99-1E1EACCE74C7}.Debug_Ubuntu|Any CPU.Build.0 = Debug_Ubuntu|Any CPU
{B81A24C8-25BB-42B2-AF99-1E1EACCE74C7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
@@ -50,6 +52,12 @@ Global
{C648BA25-77E5-4A40-A97F-D0AA37B9FB26}.Release|Any CPU.ActiveCfg = Release|Any CPU
{C648BA25-77E5-4A40-A97F-D0AA37B9FB26}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+ GlobalSection(ExtensibilityGlobals) = postSolution
+ SolutionGuid = {1C4CF734-97A6-4667-94E9-AC5C96FFEB8A}
+ EndGlobalSection
GlobalSection(MonoDevelopProperties) = preSolution
StartupItem = websocket-sharp\websocket-sharp.csproj
Policies = $0
diff --git a/websocket-sharp/AssemblyInfo.cs b/websocket-sharp/AssemblyInfo.cs
deleted file mode 100644
index c85deaa45..000000000
--- a/websocket-sharp/AssemblyInfo.cs
+++ /dev/null
@@ -1,26 +0,0 @@
-using System.Reflection;
-using System.Runtime.CompilerServices;
-
-// Information about this assembly is defined by the following attributes.
-// Change them to the values specific to your project.
-
-[assembly: AssemblyTitle("websocket-sharp")]
-[assembly: AssemblyDescription("A C# implementation of the WebSocket protocol client and server")]
-[assembly: AssemblyConfiguration("")]
-[assembly: AssemblyCompany("")]
-[assembly: AssemblyProduct("websocket-sharp.dll")]
-[assembly: AssemblyCopyright("sta.blockhead")]
-[assembly: AssemblyTrademark("")]
-[assembly: AssemblyCulture("")]
-
-// The assembly version has the format "{Major}.{Minor}.{Build}.{Revision}".
-// The form "{Major}.{Minor}.*" will automatically update the build and revision,
-// and "{Major}.{Minor}.{Build}.*" will update just the revision.
-
-[assembly: AssemblyVersion("1.0.2.*")]
-
-// The following attributes are used to specify the signing key for the assembly,
-// if desired. See the Mono documentation for more information about signing.
-
-//[assembly: AssemblyDelaySign(false)]
-//[assembly: AssemblyKeyFile("")]
diff --git a/websocket-sharp/websocket-sharp.csproj b/websocket-sharp/websocket-sharp.csproj
index 0860c0313..989747276 100644
--- a/websocket-sharp/websocket-sharp.csproj
+++ b/websocket-sharp/websocket-sharp.csproj
@@ -1,149 +1,9 @@
-
-
+
+
- Debug
- AnyCPU
- 9.0.21022
- 2.0
- {B357BAC7-529E-4D81-A0D2-71041B19C8DE}
- Library
- WebSocketSharp
- websocket-sharp
- v3.5
- true
- websocket-sharp.snk
+ netstandard2.1
+ enable
+ 1.0.0.0
-
- true
- full
- false
- bin\Debug
- DEBUG
- prompt
- 4
- false
-
-
- none
- false
- bin\Release
- prompt
- 4
- false
-
-
- true
- full
- false
- bin\Debug_Ubuntu
- DEBUG
- prompt
- 4
- false
-
-
- none
- false
- bin\Release_Ubuntu
- prompt
- 4
- false
- true
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
+
+
diff --git a/websocket-sharp/websocket-sharp.snk b/websocket-sharp/websocket-sharp.snk
deleted file mode 100644
index a2546f385..000000000
Binary files a/websocket-sharp/websocket-sharp.snk and /dev/null differ