Pre-requisite to this issue is: dotnet/corefx#2490
Is this planned for RC2?
WebSockets client is not supported on Linux (System.PlatformNotSupportedException: The WebSocket protocol is not supported on this platform.
), this is quite an important feature, it would be great if it makes it for RC2.
Hi @Flavien I agree this is an important feature; it's currently not slated for RC2 at this time. I suspect right now that the feature will come off the backlog early next year for the next minor update after 1.0. With that said, we'd be receptive to community contributions in this space earlier than that.
CC'ing some folks who can discuss the open design issues.
/cc @stephentoub @SidharthNabar @vijaykota
Any news on this feature?
@ayende this is still on the backlog
Can you explain a bit what is required to make this happen? We need this functionality, and want to know if we can contribute it.
Since Kesterl is how this is served on Linux, and since it is already working on Windows, I assume that there isn't something big that is missing right now.
@ayende We have a websocket client here https://github.com/aspnet/WebSockets/ but we haven't looked into the what a websocket upgrade looks like using libcurl (maybe it just works?). Here's what we have today (it's only tests on .NET Framework):
Wire up the websocket prefixes:
Create the websocket from the opaque stream:
You could possibly make this work if the HttpClient implementation gives you back the raw stream. You could hand it over to the websocket protocol layer.
/cc @Tratcher
Okay, so the current limitation is client side, right? Is there any issues
on the server side on Linux?
*Hibernating Rhinos Ltd *
Oren Eini* l CEO l *Mobile: + 972-52-548-6969
Office: +972-4-622-7811 *l *Fax: +972-153-4-622-7811
On Fri, Feb 19, 2016 at 8:47 PM, David Fowler [email protected]
wrote:
@ayende https://github.com/ayende We have a websocket client here
https://github.com/aspnet/WebSockets/ but we haven't looked into the what
a websocket upgrade looks like using libcurl (maybe it just works?). Here's
what we have today (it's only tests on .NET Framework):Wire up the websocket prefixes:
Create the websocket from the opaque stream:
You could possibly make this work if the HttpClient implementation gives
you back the raw stream. You could hand it over to the websocket protocol
layer./cc @Tratcher https://github.com/Tratcher
—
Reply to this email directly or view it on GitHub
https://github.com/dotnet/corefx/issues/2486#issuecomment-186356965.
WebSockets isn't being shipped as 1.0 as part of the ASP.NET Core 1.0 release. Though others are using it and it seems to be working just fine :smile: . Do try it out and if you find any issues, contribute to the repo. https://github.com/aspnet/WebSockets/
/cc @benaadams
@ayende we've used the WebSockets middleware to send over 40 billion messages at an extremely high frequency; there are some issues; but if you are already handling reconnects - the biggest of which is probably a noisy log file https://github.com/aspnet/WebSockets/issues/63
Yes, we are using this as well, and I wanted to verify that the current
limitation on Linux was just plugging libcurl properly
*Hibernating Rhinos Ltd *
Oren Eini* l CEO l *Mobile: + 972-52-548-6969
Office: +972-4-622-7811 *l *Fax: +972-153-4-622-7811
On Fri, Feb 19, 2016 at 9:30 PM, Ben Adams [email protected] wrote:
@ayende https://github.com/ayende we've used the WebSockets middleware
to send over 40 billion messages at an extremely high frequency; there are
some issues; but if you are already handling reconnects - the biggest of
which is probably a noisy log file aspnet/WebSockets#63
https://github.com/aspnet/WebSockets/issues/63—
Reply to this email directly or view it on GitHub
https://github.com/dotnet/corefx/issues/2486#issuecomment-186369611.
@davidfowl We've never even prototyped a way to do an opaque upgrade via HttpClient. I have a few ideas, but you can't just use the Stream from StreamContent because it gives you a restricted wrapper.
From my perspective, if there is a problem with libcurl, we can just fall
back to a completely managed impl.
Such as starting from here:
https://github.com/sta/websocket-sharp/tree/master/websocket-sharp
The stumbling block is the server, so I'm pretty happy, even if libcurl
proves problematic.
*Hibernating Rhinos Ltd *
Oren Eini* l CEO l *Mobile: + 972-52-548-6969
Office: +972-4-622-7811 *l *Fax: +972-153-4-622-7811
On Fri, Feb 19, 2016 at 9:36 PM, Chris R [email protected] wrote:
@davidfowl https://github.com/davidfowl We've never even prototyped a
way to do an opaque upgrade via HttpClient. I have a few ideas, but you
can't just use the Stream from StreamContent because it gives you a
restricted wrapper.—
Reply to this email directly or view it on GitHub
https://github.com/dotnet/corefx/issues/2486#issuecomment-186371040.
I tried getting started on this, but it seems like the CLI is currently badly broken (see: https://github.com/aspnet/cli-samples/issues/15).
Couldn't get even the samples to work
Are there any updates on this? We've been porting projects from mono to .net core and this is the only blocker remaining. I'd be happy to contribute to any work in progress items.
@qooroo We have implemented a trivial fix for this by writing this:
https://github.com/ayende/ravendb/blob/v4.0/src/Raven.Client/Platform/Unix/RavenUnixClientWebSocket.cs
It is not to be considered a viable alternative to a real implementation, but it allowed us to get ahead and not be blocked by this missing feature.
Most helpful comment
Are there any updates on this? We've been porting projects from mono to .net core and this is the only blocker remaining. I'd be happy to contribute to any work in progress items.