I will, and thanks for your feedback:) I have some idea that for most users
we can simplify it a bit, I will come back when I have something more than
just the idea of it.

Thinking about it, websocket technology will require more of the backend,
because of its nature..

For Jetty 9.3.x I will need to use this filter
org.apache.wicket.protocol.ws.javax.JavaxWebSocketFilter
correct?


On Thu, Aug 17, 2017 at 10:05 AM, Martin Grigorov <mgrigo...@apache.org>
wrote:

> On Thu, Aug 17, 2017 at 10:51 AM, nino martinez wael <
> nino.martinez.w...@gmail.com> wrote:
>
> > so in it's simplest form my page would look like this:
> >
> >
> >     final MarkupContainer anotherComponent = add(new
> > Label("anotherComponent", "Updating should be pushed"));
> >
> >     anotherComponent.add(
> >             new WebSocketBehavior() {
> >                 @Override
> >                 protected void onPush(WebSocketRequestHandler handler,
> > IWebSocketPushMessage message) {
> >                     super.onPush(handler, message);
> >                     handler.add(anotherComponent);
> >                 }
> >
> >
> >             });
> >
> >
> > }
> >
> >
> > And will get anotherComponent refreshed with every WebsocketPushes..
> > It would be nice if there were a simple filter or way to determine if
> > the websocket push were relevant for the actually push..
> >
> > The current implementation does feel a little lowlevel..
> >
>
> IWebSocketPushMessage is an interface, so to broadcast it you need to
> create a concrete impl class.
> Then in #onPush() you can check the type and decide what to do.
>
> I have the feeling that you didn't even test it yet.
> Please play a bit with it and then come with more concrete suggestions!
>
>
> >
> >
> > On Thu, Aug 17, 2017 at 9:36 AM, nino martinez wael <
> > nino.martinez.w...@gmail.com> wrote:
> >
> > > Thanks Martin! Yes specially 2.2.x will probably be used a lot.. Would
> be
> > > great to have an sample for it.. I'll conjure one up for pax wicket..
> > >
> > > On Thu, Aug 17, 2017 at 9:29 AM, Martin Grigorov <
> > > martin.grigo...@gmail.com> wrote:
> > >
> > >> WebSocketBehavior has only callbacks. They have
> > IPartialPageUpdateHandler
> > >> as parameter (this is the base interface for AjaxRequestTarget and
> > >> IWebSocketRequestHandler) which you can use to add components.
> > >>
> > >> There are two use cases:
> > >>
> > >> 1) the browser sends a message
> > >> WebSocketBehavior#onMessage(Text|Binary, IPartialPageUpdateHandler)
> is
> > >> called and you can react on this message
> > >>
> > >> 2) the server pushes a message
> > >>
> > >> 2.1) simple case: broadcast plain text or byte[]
> > >>
> > >> WebSocketSettings webSocketSettings = WebSocketSettings.Holder.get(
> > >> application);
> > >> webSocketSettings.getConnectionRegistry().getConnection(app[,
> > sessionId,
> > >> pageIdKey]).sendMessage( text | binary );
> > >>
> > >> 2.2) more complex case: update Wicket components
> > >>
> > >> here you need to broadcast IWebSocketPushMessage - this is a
> > >> specialization
> > >> of IWebSocketMessage that is used when you need to push from the
> server
> > to
> > >> the client
> > >>
> > >> This code could be in any application service class:
> > >>
> > >> WebSocketSettings webSocketSettings = WebSocketSettings.Holder.get(
> > >> application);
> > >> WebSocketPushBroadcaster broadcaster = new WebSocketPushBroadcaster(
> > >> webSocketSettings.getConnectionRegistry());
> > >>
> > >> 2.2.1) to all connections:
> > >> broadcaster.broadcastAll(application, message);
> > >>
> > >> 2.2.2) to specific client
> > >> ConnectedMessage wsMessage = new ConnectedMessage(application,
> > sessionId,
> > >> pageIdKey);
> > >> broadcaster.broadcast(wsMessage, message);
> > >>
> > >>
> > >> Broadcasting IWebSocketPushMessage will call
> WebSocketBehavior#onPush()
> > >> where you can update any components
> > >>
> > >> We should add this to the guide!
> > >>
> > >> Martin
> > >>
> > >> On Aug 17, 2017 09:28, "nino martinez wael" <
> > nino.martinez.w...@gmail.com
> > >> >
> > >> wrote:
> > >>
> > >> > But how do I then refresh the target from serverside?
> > WebSocketBehavior
> > >> > does not have an method that lets me get a target?
> > >> >
> > >> > On Thu, Aug 17, 2017 at 7:45 AM, Martin Grigorov <
> > >> > martin.grigo...@gmail.com>
> > >> > wrote:
> > >> >
> > >> > > Yes.
> > >> > > The API is the same.
> > >> > >
> > >> > > On Aug 17, 2017 08:44, "nino martinez wael" <
> > >> > nino.martinez.w...@gmail.com>
> > >> > > wrote:
> > >> > >
> > >> > > > is there way to repaint an component like with ajax targets
> > >> > > > (target.add(component))?
> > >> > > >
> > >> > > > On Wed, Aug 16, 2017 at 1:57 PM, nino martinez wael <
> > >> > > > nino.martinez.w...@gmail.com> wrote:
> > >> > > >
> > >> > > > > I'snt there something more simple?
> > >> > > > >
> > >> > > > > On Wed, Aug 16, 2017 at 1:54 PM, Martin Grigorov <
> > >> > mgrigo...@apache.org
> > >> > > >
> > >> > > > > wrote:
> > >> > > > >
> > >> > > > >> Use the examples as inspiration:
> > >> > > > >>
> > >> > > > >> http://examples8x.wicket.apache.org/websockets/
> > >> > > > >> https://github.com/apache/wicket/tree/master/wicket-examples
> > >> > > > >> /src/main/java/org/apache/wicket/examples/websocket
> > >> > > > >>
> > >> > > > >> Martin Grigorov
> > >> > > > >> Wicket Training and Consulting
> > >> > > > >> https://twitter.com/mtgrigorov
> > >> > > > >>
> > >> > > > >> On Wed, Aug 16, 2017 at 2:52 PM, nino martinez wael <
> > >> > > > >> nino.martinez.w...@gmail.com> wrote:
> > >> > > > >>
> > >> > > > >> > Hi
> > >> > > > >> >
> > >> > > > >> > I am looking into Wicket 8 and websockets using pax wicket,
> > in
> > >> my
> > >> > > case
> > >> > > > >> I am
> > >> > > > >> > using jetty 9.3.14. I want to do a simple websocket
> sample..
> > >> > > > >> >
> > >> > > > >> > However I cannot find something as simple as
> > >> > > > >> > a AjaxSelfUpdatingTimerBehavior as an websocket behavior..
> > >> > > > >> >
> > >> > > > >> > So whats the simplest way todo a websocket example that
> shows
> > >> some
> > >> > > > >> change
> > >> > > > >> > at clientside?
> > >> > > > >> >
> > >> > > > >> > --
> > >> > > > >> > Best regards / Med venlig hilsen
> > >> > > > >> > Nino Martinez
> > >> > > > >> >
> > >> > > > >>
> > >> > > > >
> > >> > > > >
> > >> > > > >
> > >> > > > > --
> > >> > > > > Best regards / Med venlig hilsen
> > >> > > > > Nino Martinez
> > >> > > > >
> > >> > > >
> > >> > > >
> > >> > > >
> > >> > > > --
> > >> > > > Best regards / Med venlig hilsen
> > >> > > > Nino Martinez
> > >> > > >
> > >> > >
> > >> >
> > >> >
> > >> >
> > >> > --
> > >> > Best regards / Med venlig hilsen
> > >> > Nino Martinez
> > >> >
> > >>
> > >
> > >
> > >
> > > --
> > > Best regards / Med venlig hilsen
> > > Nino Martinez
> > >
> >
> >
> >
> > --
> > Best regards / Med venlig hilsen
> > Nino Martinez
> >
>



-- 
Best regards / Med venlig hilsen
Nino Martinez

Reply via email to