Re: [cometd-users] WebSocket Support for iOS Safari 5.x on CometD 2.6.0

124 views
Skip to first unread message

Simone Bordet

unread,
May 14, 2013, 3:32:21 AM5/14/13
to cometd-users
Hi,

On Mon, May 13, 2013 at 11:36 PM, JDF <java.deve...@gmail.com> wrote:
> Hello,
>
> I am new to CometD users-group and, first of all, I would like to express my
> gratitude for such a great library!

Thanks !

> At this time, I am evaluating last release of "cometd 2.6.0" against "jetty
> 7.6.10.v20130312". I experienced problem when establishing web-socket socket
> connection from iOS Safari 5.x with following message logged at server
> console: "WARN:oejw.WebSocketFactory:Unsupported websocket client version
> specification <Unspecified, likely a pre-draft version of websocket>,
> configured minVersion [13], reported supported versions [13]"
>
> After digging into details, I realized that related issue was recently
> addressed as part of jetty project
> "https://bugs.eclipse.org/bugs/show_bug.cgi?id=401317". Basically, the fix
> involves to min-version = -1 on websocket-factory (
> "WebSocketFactory.setMinVersion(-1);")
>
> In terms of regular jetty's WebSocketServlet can be done by adding following
> init-parameter on web.xml file (Jetty's WebSocketServlet "injects" that
> parameter into WebSocketFactory):
>
> Set the WebSocketServlet init-parameter
> <init-param>
> <param-name>minVersion</param-name>
> <param-value>-1</param-value>
> </init-param>
>
>
> In terms of cometd, I realized that a small change on cometd's
> WebSocketTransport was required to have WebSocketFactory be injected with
> the init-parameter associated to CometdServlet:
>
> public void init()
> {
> ...
> int minVersion = getOption(MIN_VERSION_OPTION,
> _factory.getMinVersion());
> _factory.setMinVersion(minVersion);
> ...
> }
>
>
> After that change the problem had gone and iOS Safari 5.x is now
> successfully establishing web-sockets connection. I temporally instrumented
> that change by creating my own WebSocketTransport class (with code borrowed
> from Cometd's WebSocketTransport and have it enabled as part of
> CometdServlet's transports init-parameter. Then, I thought it would be good
> to:
>
> 1. Validate/contribute the change to the cometd community and explore if it
> can be incorporated as part of the next version of Cometd (2.6.1?). Not sure
> what is the process here, though. If feasible, I would be more than happy to
> report it where it corresponds. Sorry, if this is not the place to post :(

It is the right place.

The process is that you file a bug at http://bugs.cometd.org, with the
description of the problem (e.g. a link to this email thread at the
google group web's interface)
The change seems trivial, so it's likely to be included in 2.6.1.

Thanks !

--
Simone Bordet
----
http://cometd.org
http://webtide.com
http://intalio.com
Developer advice, training, services and support
from the Jetty & CometD experts.
Intalio, the modern way to build business applications.

JDF

unread,
May 15, 2013, 6:48:21 PM5/15/13
to cometd...@googlegroups.com
Hi Simone,

Thanks a lot for your answer!

I just created JIRA issue at http://bugs.cometd.org/browse/COMETD-428.

Best Regards!
Reply all
Reply to author
Forward
0 new messages