kerryjiang / SuperSocket

SuperSocket is a light weight, cross platform and extensible socket server application framework.
Apache License 2.0
3.95k stars 1.15k forks source link

Add support for .NET core projects #101

Open mchaloupka opened 7 years ago

mchaloupka commented 7 years ago

Please add support for .NET core. The SuperSocket seems to me as more convenient way how to use WebSockets than the standard one in ASP.NET Core.

Supergeek commented 7 years ago

Seconded

ceilingfish commented 7 years ago

Thirded.

kerryjiang commented 7 years ago

Great, I'll start it when I am free. It seems lots of people interested in this topic.

I was really busy in the past months because I moved from China to US in the end of last year.

Basically, I think we should take advantage of the library System.IO.Pipelines in the .net core lab. It seems they did a great job on async stream processing. https://github.com/dotnet/corefxlab/tree/master/samples/System.IO.Pipelines.Samples

KevinW1998 commented 7 years ago

What's the status of this? Does the port also include the websocket version of SuperSocket?

oising commented 7 years ago

Fourth, fifth and sixthed ;)

schungx commented 7 years ago

Are you targetting .NET Standard or .NET Core? It would be better to target .NET Standard 2.0 so we can use one single codebase for both Windows and Linux!

schungx commented 7 years ago

Ah. Ignore me. I see that you are targetting .NET Standard 1.3. Great!

amostive commented 6 years ago

Any update on this?

oising commented 6 years ago

@schungx gave one. It's standard 1.3 (which is backwards compatible with 1.x, 2.x)

amostive commented 6 years ago

Hi @oising - thanks for the reply.

I tried the latest NuGet package (1.6.6.1) and that code base is still .Net specific (on the 1.6 branch). And VS complains it had to use .Net Framework 4.6.1 to restore it.

I couldn't find any NuGet packages that support .Net Core (1.0 or 2.0). Also, it's not clear if the master branch is working yet. The code is very different and the README says it is still experimental.

Have you been able to use it for .Net Core? If so, any hints you can share on how?

imtrobin commented 6 years ago

+1

iamdroppy commented 6 years ago

I agree, this should be ported to .NET Core

masterchen commented 6 years ago

Good ,what's the plan

claudioesposito commented 6 years ago

+1 great need for this!

withtea commented 5 years ago

+1 really need this.

schungx commented 5 years ago

There are a few .NET Standard compatible WebSocket packages out there, but I find that I enjoy the performance of SuperWebSocket the best. Others seem to occasionally give strange errors or break connections for no reason. SuperWebSocket is great in that it is rock-solid stable. So, +100 really need this.

kerryjiang commented 5 years ago

I am still working on it. The code in the master branch is for .net core. Base on the current progress, the SuperSocket .net core version may target to .net standard2.1 and .netcoreapp3.0.

iamdroppy commented 5 years ago

Thanks @kerryjiang and yes, .netstandard would be the way to go.

schungx commented 5 years ago

I have currently moved my WebSocket server code to ASP.NET Core, which has a WebSocket package.

However, I REALLY REALLY dislike having to pull in Kestrel and a whole bunch of ASP.NET Core DLL's just so that I can spin up a WebSocket server! Most other NuGet WebSocket server packages are not robust enough for production use.

So, @kerryjiang, can you just get it done, PLEASSSSSSSSSSSSEEEEEEEEE?

chucklu commented 5 years ago

@schungx What did you mean by websocket package? https://github.com/kerryjiang/WebSocket4Net already supports .net core.

Currently, the code on master branch of this repository is almost start from scratch. It seems @kerryjiang is trying to re-design it for .net core, instead of just upgrade it from the old one. If you want to use .net core version of old supersocket, you can try with https://github.com/SarcoZ/SuperSocket-NetCore https://github.com/forrestly/SSCore Please do not forget to test them before you applying them to production environment.

schungx commented 5 years ago

I need a WebSocket server. Sorry for not being clear.

Also needs to be in .NET Standard as I run on both Windows and Linux platforms.

lwksystem commented 5 years ago

@kerryjiang roughly when it be official release once .net core 3.0 and .net standard 2.1 released? I think most of us waiting for your library to convert to .net core from .net framework.

robertlagrant commented 5 years ago

@wiraman a better question might be: how can I help this along, through money / coding / testing / writing documentation?

It's open source; timelines are 100% unreliable as people are doing it in their spare time, and life happens.

kerryjiang commented 4 years ago

Probably I can release a stable version in the mid of 2020.

OliverJentsch commented 4 years ago

I want to use the SuperSocket Packages for ASP.NET Core 2.2 https://www.nuget.org/packages/SuperSocket/ is there any chance? For this project github.com/kerryjiang/SuperSocket ASP.NET Core 3 is required, since I only have Visual Studio 2017 and can't use that.

So far I just found another Github Project https://github.com/SarcoZ/SuperSocket-NetCore which can be used with the ASP.NET Core 2.2, but which is also related to local projects where still the .Net Framework 4.0 and 4.5 and the old App.config file are used.

And I'm not also not sure if I can use this project for my implementation. I want to end up with an MLLP Server used for HL7 like (https://github.com/dib0/HL7Fuse). This project (.NET Framework 4.6) uses SuperSocket v1.6.4 and I want to migrate that to ASP.NET Core 2.2 where I would net the SuperSocket in the related ASP.NET Core Version. Has anyone already a solution or advices for that?

kerryjiang commented 4 years ago

Sorry, the SuperSocket 2.0 takes advantage of some APIs in .net standard 2.1, so you would have to upgrade to .net standard 2.1 and .net core 3.0 at least.

@OliverJentsch

matkoch commented 4 years ago

Hi @kerryjiang Really want to stress that I have no intentions to rush you. This library is awesome and most users will patiently wait. Still I want to raise the suggestion to publish a prerelease package. This would clearly indicate that the package is still experimental. I just tried copying all files to my own project and everything seems to work fine. I hope a prerelease won’t take too much effort. But as I said before, we’ll wait if necessary :)

Take care and thanks for your work!

chucklu commented 4 years ago

@matkoch The preview version of SuperSocket already on NuGet, and the first preview version was released months ago. image

matkoch commented 4 years ago

🤦🏻‍♂️ thanks. I must have been blind then. I was probably only checking the SuperSocket package.

kerryjiang commented 4 years ago

Just follow the docs of SuperSocket 2.0: https://docs.supersocket.net/v2-0/en-US/