spray-can: add websockets support (client & server) #134

Closed
sirthias opened this Issue Sep 4, 2012 · 129 comments

Comments

Projects
None yet
@sirthias
Member

sirthias commented Sep 4, 2012

No description provided.

@analytically

This comment has been minimized.

Show comment
Hide comment
@analytically

analytically Oct 23, 2012

Contributor

+1

Contributor

analytically commented Oct 23, 2012

+1

@tommcp

This comment has been minimized.

Show comment
Hide comment

tommcp commented Nov 1, 2012

+1

@t3hnar

This comment has been minimized.

Show comment
Hide comment
@t3hnar

t3hnar Nov 10, 2012

Contributor

+1

Contributor

t3hnar commented Nov 10, 2012

+1

@alexbool

This comment has been minimized.

Show comment
Hide comment

+1

@olger

This comment has been minimized.

Show comment
Hide comment

olger commented Nov 17, 2012

+1

@pjean

This comment has been minimized.

Show comment
Hide comment

pjean commented Nov 29, 2012

+1

@edgurgel

This comment has been minimized.

Show comment
Hide comment

+1

@zerni

This comment has been minimized.

Show comment
Hide comment

zerni commented Dec 10, 2012

+1

@Bathtor

This comment has been minimized.

Show comment
Hide comment

Bathtor commented Dec 10, 2012

+1

@csenol

This comment has been minimized.

Show comment
Hide comment

csenol commented Dec 16, 2012

+1

@lihaoyi

This comment has been minimized.

Show comment
Hide comment
@lihaoyi

lihaoyi Dec 26, 2012

Contributor

+1

Contributor

lihaoyi commented Dec 26, 2012

+1

@RajivKurian

This comment has been minimized.

Show comment
Hide comment

+1

@ghost

This comment has been minimized.

Show comment
Hide comment

ghost commented Jan 10, 2013

+1

@siriux

This comment has been minimized.

Show comment
Hide comment

siriux commented Jan 22, 2013

+1

@shogs

This comment has been minimized.

Show comment
Hide comment

shogs commented Jan 25, 2013

+1

@ramn

This comment has been minimized.

Show comment
Hide comment

ramn commented Feb 9, 2013

+1

@tlvenn

This comment has been minimized.

Show comment
Hide comment

tlvenn commented Feb 13, 2013

+1

@sharathp

This comment has been minimized.

Show comment
Hide comment
@sharathp

sharathp Feb 16, 2013

Eagerly waiting for this!

+1

Eagerly waiting for this!

+1

@hseeberger

This comment has been minimized.

Show comment
Hide comment
@hseeberger

hseeberger Feb 18, 2013

Contributor

+1

Contributor

hseeberger commented Feb 18, 2013

+1

@enijns

This comment has been minimized.

Show comment
Hide comment

enijns commented Feb 21, 2013

+1

@JMacLulich

This comment has been minimized.

Show comment
Hide comment
@JMacLulich

JMacLulich Mar 3, 2013

+1 definitely looking forward to this.

+1 definitely looking forward to this.

@paulsabou

This comment has been minimized.

Show comment
Hide comment

+1

@slothspot

This comment has been minimized.

Show comment
Hide comment

+1

@shimberger

This comment has been minimized.

Show comment
Hide comment

+1

@dacc

This comment has been minimized.

Show comment
Hide comment

dacc commented Mar 5, 2013

+1

@mdmarek

This comment has been minimized.

Show comment
Hide comment

mdmarek commented Mar 14, 2013

+1

@Grogs

This comment has been minimized.

Show comment
Hide comment

Grogs commented Mar 22, 2013

+1

@lihaoyi

This comment has been minimized.

Show comment
Hide comment
@lihaoyi

lihaoyi Mar 22, 2013

Contributor

I've actually written up a small extension to the spray-can http server that adds websocket functionality. It's over at https://github.com/lihaoyi/SprayWebSockets with instructions for how to try it out, and it should work with the 1.1-M7 nightly builds.

The server has been continuously serving websocket connections for the last two months on the toy site I made to test it out (http://www.textboxplus.com/), so it seems to work. There are instructions in that project's readme as to how to use it. Installation basically involves copying to source files into your project (sorry no .jar, but it's less than 500 lines of code anyway). The plan is to contribute it back into the main repo when 1.1-M8 comes out.

Contributor

lihaoyi commented Mar 22, 2013

I've actually written up a small extension to the spray-can http server that adds websocket functionality. It's over at https://github.com/lihaoyi/SprayWebSockets with instructions for how to try it out, and it should work with the 1.1-M7 nightly builds.

The server has been continuously serving websocket connections for the last two months on the toy site I made to test it out (http://www.textboxplus.com/), so it seems to work. There are instructions in that project's readme as to how to use it. Installation basically involves copying to source files into your project (sorry no .jar, but it's less than 500 lines of code anyway). The plan is to contribute it back into the main repo when 1.1-M8 comes out.

@cicika

This comment has been minimized.

Show comment
Hide comment

cicika commented Mar 28, 2013

+1

@pirtlj

This comment has been minimized.

Show comment
Hide comment

pirtlj commented Apr 11, 2013

+1

@g-eorge

This comment has been minimized.

Show comment
Hide comment

g-eorge commented Apr 11, 2013

+1

@kulikov

This comment has been minimized.

Show comment
Hide comment
@kulikov

kulikov Apr 12, 2013

Contributor

+1

Contributor

kulikov commented Apr 12, 2013

+1

@drewhk

This comment has been minimized.

Show comment
Hide comment

drewhk commented Apr 30, 2013

+1 ;)

@macinux

This comment has been minimized.

Show comment
Hide comment

macinux commented May 4, 2013

+1

@jgrowl

This comment has been minimized.

Show comment
Hide comment

jgrowl commented May 4, 2013

+1

@avaello

This comment has been minimized.

Show comment
Hide comment

avaello commented May 16, 2013

+1

@greenhost87

This comment has been minimized.

Show comment
Hide comment

+1

@dvorobiov

This comment has been minimized.

Show comment
Hide comment

+1

@nartamonov

This comment has been minimized.

Show comment
Hide comment

+1

@mnetship

This comment has been minimized.

Show comment
Hide comment
@mnetship

mnetship Jun 20, 2013

+1

Sent from my iPhone

On 20 Jun 2013, at 10:11 PM, nartamonov notifications@github.com wrote:

+1


Reply to this email directly or view it on GitHub.

+1

Sent from my iPhone

On 20 Jun 2013, at 10:11 PM, nartamonov notifications@github.com wrote:

+1


Reply to this email directly or view it on GitHub.

@ScottPierce

This comment has been minimized.

Show comment
Hide comment

+1

@aoiroaoino

This comment has been minimized.

Show comment
Hide comment

+1

@markvandertol

This comment has been minimized.

Show comment
Hide comment
@markvandertol

markvandertol Mar 11, 2014

Contributor

Maybe a smaller feature that will pave the way for websocket support is to just add support for Switching Protocols (see http://tools.ietf.org/html/draft-ietf-httpbis-p1-messaging-26#section-6.7) in Spray client and server. Then an external library can provide websocket support, without that library having to hook deep into the internals of spray.

Contributor

markvandertol commented Mar 11, 2014

Maybe a smaller feature that will pave the way for websocket support is to just add support for Switching Protocols (see http://tools.ietf.org/html/draft-ietf-httpbis-p1-messaging-26#section-6.7) in Spray client and server. Then an external library can provide websocket support, without that library having to hook deep into the internals of spray.

@crfeliz

This comment has been minimized.

Show comment
Hide comment

crfeliz commented Mar 12, 2014

+1

@kaesler

This comment has been minimized.

Show comment
Hide comment

kaesler commented Apr 4, 2014

+1

@nefilim

This comment has been minimized.

Show comment
Hide comment

nefilim commented Apr 5, 2014

+1

@kulikov

This comment has been minimized.

Show comment
Hide comment
@kulikov

kulikov Apr 9, 2014

Contributor

+1 again and again

Contributor

kulikov commented Apr 9, 2014

+1 again and again

@briantopping

This comment has been minimized.

Show comment
Hide comment
@briantopping

briantopping Apr 13, 2014

+1, because it just takes soooo long to scroll to the end of this list and all.

+1, because it just takes soooo long to scroll to the end of this list and all.

@sirthias sirthias referenced this issue in lihaoyi/SprayWebSockets Apr 17, 2014

Closed

It's not clear how to receive Acks on the client side #16

@martin-magakian

This comment has been minimized.

Show comment
Hide comment
@martin-magakian

martin-magakian May 14, 2014

+1

I hope it will be possible to use Atmosphere framework with Spray

https://github.com/Atmosphere/atmosphere

+1

I hope it will be possible to use Atmosphere framework with Spray

https://github.com/Atmosphere/atmosphere

@briantopping

This comment has been minimized.

Show comment
Hide comment
@briantopping

briantopping May 14, 2014

Atmosphere does look very interesting. The support for different protocols over the ws: connection looks promising.

Have you considered using one of the existing spray websocket implementations to create an integration with Atmosphere? It would be cool to see it running!

Atmosphere does look very interesting. The support for different protocols over the ws: connection looks promising.

Have you considered using one of the existing spray websocket implementations to create an integration with Atmosphere? It would be cool to see it running!

@troypayne

This comment has been minimized.

Show comment
Hide comment
@troypayne

troypayne May 14, 2014

can someone answer the following questions about Atmosphere:

Why?
What?
How?

On Wed, May 14, 2014 at 4:19 PM, Brian Topping notifications@github.comwrote:

Atmosphere does look very interesting. The support for different protocols
over the ws: connection looks promising.

Have you considered using one of the existing spray websocket
implementations to create an integration with Atmosphere? It would be cool
to see it running!


Reply to this email directly or view it on GitHubhttps://github.com/spray/spray/issues/134#issuecomment-43132005
.

can someone answer the following questions about Atmosphere:

Why?
What?
How?

On Wed, May 14, 2014 at 4:19 PM, Brian Topping notifications@github.comwrote:

Atmosphere does look very interesting. The support for different protocols
over the ws: connection looks promising.

Have you considered using one of the existing spray websocket
implementations to create an integration with Atmosphere? It would be cool
to see it running!


Reply to this email directly or view it on GitHubhttps://github.com/spray/spray/issues/134#issuecomment-43132005
.

@briantopping

This comment has been minimized.

Show comment
Hide comment
@briantopping

briantopping May 14, 2014

@troypayne Not sure if that was directed to me, I've been successful integrating against spray-websockets for now. Atmosphere seems to be very comprehensive with protocol support, and being built on Netty, seems like it would be easier to acquire new protocols that work with it. New protocols means more capabilities. I have no idea whether it's practical or not, which is why I was suggesting an advocate look at something like spray-websockets and wrap Atmosphere with the spray integration plumbing from it.

@troypayne Not sure if that was directed to me, I've been successful integrating against spray-websockets for now. Atmosphere seems to be very comprehensive with protocol support, and being built on Netty, seems like it would be easier to acquire new protocols that work with it. New protocols means more capabilities. I have no idea whether it's practical or not, which is why I was suggesting an advocate look at something like spray-websockets and wrap Atmosphere with the spray integration plumbing from it.

@okapies

This comment has been minimized.

Show comment
Hide comment
@okapies

okapies May 15, 2014

I have tried to integrate spray with atmosphere, but it seemed little bit complicated because the atmosphere has its own semantics to provide full-stack HTTP server functionality. I couldn't find a sub-module only just handling the protocol, instead of the whole stack.

okapies commented May 15, 2014

I have tried to integrate spray with atmosphere, but it seemed little bit complicated because the atmosphere has its own semantics to provide full-stack HTTP server functionality. I couldn't find a sub-module only just handling the protocol, instead of the whole stack.

@milo-ft

This comment has been minimized.

Show comment
Hide comment

milo-ft commented Jul 10, 2014

+1

@BenDavidJamin

This comment has been minimized.

Show comment
Hide comment
@briantopping

This comment has been minimized.

Show comment
Hide comment
@briantopping

briantopping Jul 25, 2014

All, Mathias discussed websockets as a specific goal of the conversion of Spray to use Reactive Streams under akka-http. Suggest checking out his video from ScalaDays in Berlin!

All, Mathias discussed websockets as a specific goal of the conversion of Spray to use Reactive Streams under akka-http. Suggest checking out his video from ScalaDays in Berlin!

@jonysy

This comment has been minimized.

Show comment
Hide comment

jonysy commented Aug 1, 2014

+1

@trungpham

This comment has been minimized.

Show comment
Hide comment
@megothss

This comment has been minimized.

Show comment
Hide comment

+1

@peter-empen

This comment has been minimized.

Show comment
Hide comment

+1

@jurisk

This comment has been minimized.

Show comment
Hide comment

jurisk commented Dec 11, 2014

+1

@psisoyev

This comment has been minimized.

Show comment
Hide comment

+1

@skisel

This comment has been minimized.

Show comment
Hide comment

skisel commented Dec 11, 2014

+1

@andyglow

This comment has been minimized.

Show comment
Hide comment

+1

@dimitrion

This comment has been minimized.

Show comment
Hide comment

+1

@angiolep

This comment has been minimized.

Show comment
Hide comment

+1

@matanster

This comment has been minimized.

Show comment
Hide comment
@matanster

matanster Jan 9, 2015

Can already use https://github.com/TooTallNate/Java-WebSocket (see here for inspiration). Shouldn't websocket support actually make more sense first as part of Akka, then bubble up to spray? Anyway Play already implements websocket, it might make sense to converge the two around the same core implementation...

Can already use https://github.com/TooTallNate/Java-WebSocket (see here for inspiration). Shouldn't websocket support actually make more sense first as part of Akka, then bubble up to spray? Anyway Play already implements websocket, it might make sense to converge the two around the same core implementation...

@reid-spencer

This comment has been minimized.

Show comment
Hide comment
@reid-spencer

reid-spencer Jan 9, 2015

@matanster - Yes, it would and that is what's in the works right now, I believe. When akka-http is released they will shortly thereafter release websocket support for it. Might take another quarter or so. Perhaps one of the akka/spray developers can comment on the status of this?

@matanster - Yes, it would and that is what's in the works right now, I believe. When akka-http is released they will shortly thereafter release websocket support for it. Might take another quarter or so. Perhaps one of the akka/spray developers can comment on the status of this?

@dnrusakov

This comment has been minimized.

Show comment
Hide comment

+1

@nikelin

This comment has been minimized.

Show comment
Hide comment

nikelin commented Jan 28, 2015

+1

@jrudolph jrudolph modified the milestones: akka-http, Future Feb 6, 2015

@jrudolph

This comment has been minimized.

Show comment
Hide comment
@jrudolph

jrudolph Feb 10, 2015

Member

We've considered this request and found that we need more evidence that anyone would find this useful.































































Just joking... :D The time may have finally come that we are actually going to implement this as part of akka-http. Here's the new ticket: akka/akka#16848 🎆

Member

jrudolph commented Feb 10, 2015

We've considered this request and found that we need more evidence that anyone would find this useful.































































Just joking... :D The time may have finally come that we are actually going to implement this as part of akka-http. Here's the new ticket: akka/akka#16848 🎆

@jrudolph jrudolph referenced this issue in akka/akka Feb 10, 2015

Closed

Add support for websockets #16848

@matanster

This comment has been minimized.

Show comment
Hide comment
@matanster

matanster Feb 10, 2015

Not sure I follow. Play provides WebSocket. I thought Play was going to
replace Netty with spray across the board.... some of my assumptions are
surely wrong....

On Tue, Feb 10, 2015 at 7:04 PM, Johannes Rudolph notifications@github.com
wrote:

We've considered this request and found that we need more evidence that
anyone would find this useful.

Just joking... :D The time may have finally come that we are actually
going to implement this as part of akka-http. Here's the new ticket:
akka/akka#16848 akka/akka#16848 [image:
🎆]


Reply to this email directly or view it on GitHub
#134 (comment).

Not sure I follow. Play provides WebSocket. I thought Play was going to
replace Netty with spray across the board.... some of my assumptions are
surely wrong....

On Tue, Feb 10, 2015 at 7:04 PM, Johannes Rudolph notifications@github.com
wrote:

We've considered this request and found that we need more evidence that
anyone would find this useful.

Just joking... :D The time may have finally come that we are actually
going to implement this as part of akka-http. Here's the new ticket:
akka/akka#16848 akka/akka#16848 [image:
🎆]


Reply to this email directly or view it on GitHub
#134 (comment).

@salanki

This comment has been minimized.

Show comment
Hide comment
@salanki

salanki Feb 10, 2015

@matanster: @jrudolph is obviously trolling you.

salanki commented Feb 10, 2015

@matanster: @jrudolph is obviously trolling you.

@jrudolph

This comment has been minimized.

Show comment
Hide comment
@jrudolph

jrudolph Feb 11, 2015

Member

@matanster, yes, I was trolling. I hope you didn't take offence.

Member

jrudolph commented Feb 11, 2015

@matanster, yes, I was trolling. I hope you didn't take offence.

@jrudolph

This comment has been minimized.

Show comment
Hide comment
@jrudolph

jrudolph Feb 11, 2015

Member

Closing for spray. See the akka/akka#16848 for the most recent developments.

Member

jrudolph commented Feb 11, 2015

Closing for spray. See the akka/akka#16848 for the most recent developments.

@jrudolph jrudolph closed this Feb 11, 2015

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment