Hi! I've got code like this:
> val flow = Http().webSocketClientFlow(WebSocketRequest(s"ws://..."))) > val sink = Sink.actorRef(actor, EventsComplete) > Source.tick[Message](KeepAliveDelay, KeepAliveDelay, > KeepAlive).via(flow).runWith(sink) The Source.tick is there because if I use Source.empty, the websocket connection gets closed immediately. The docs suggest using Source.maybe instead, but then the websocket is still closed after some timeout. I need my client to listen forever. Anyway: if actor finishes (e.g., server requests a hangup and it gets an EventsComplete), the websocket does not close. The ticking keeps going, sending stuff over the wire. This is strange because the docs say it doesn't support half-closed websockets[1]. Any guesses what's going on, and what I should do about it? In my actual code, one method generates the Source, and another piece of code creates the Actor and runs with that Source. For now I've got a nasty (though fun to code!) workaround, with a custom TerminationWatcherKillSwitch thing so that Flow.fromSinkAndSource will terminate one stream if the other terminates. Thanks! [1] http://doc.akka.io/docs/akka/2.4.8/scala/http/client-side/websocket-support.html -- >>>>>>>>>> Read the docs: http://akka.io/docs/ >>>>>>>>>> Check the FAQ: >>>>>>>>>> http://doc.akka.io/docs/akka/current/additional/faq.html >>>>>>>>>> Search the archives: https://groups.google.com/group/akka-user --- You received this message because you are subscribed to the Google Groups "Akka User List" group. To unsubscribe from this group and stop receiving emails from it, send an email to akka-user+unsubscr...@googlegroups.com. To post to this group, send email to akka-user@googlegroups.com. Visit this group at https://groups.google.com/group/akka-user. For more options, visit https://groups.google.com/d/optout.