dev@grizzly.java.net

Re: Problem with WebSockets using Grizzly in latest Glassfish 3.1 and Chromium

From: Justin Lee <justin.d.lee_at_oracle.com>
Date: Tue, 22 Jun 2010 06:47:26 -0400

That's an interesting question. I hadn't even considered that one.
You'd have to set up to proxy the ws:// urls through to glassfish. At
that point, it should work just fine but I'm not sure about the details
of that on the apache end of things. I'll make a note and play with
that and see what comes up.

On 6/22/10 4:45 AM, Tako Schotanus wrote:
> I as wondering, will WebSockets work even when you have an Apache server
> forwarding requests to Glassfish using mod_jk?
> I would try it out myself but I'm waiting for the fixes to the protocol
> handling to show up in the nightly build.
>
> Cheers,
> -Tako
>
>
> On Mon, Jun 21, 2010 at 22:07, Justin Lee<justin.d.lee_at_oracle.com> wrote:
>
>
>> Please do keep hammering on it. I think it's getting pretty close, to be
>> honest. There are a few ... internal things to clear up but few glaring
>> issues that I've found. I'm writing some more apps on top of it trying to
>> push the boundaries but definitely having someone who doesn't think along
>> the same lines as me will help flesh out those issues. The two biggies for
>> me are the keepalive conflicts and the tracking of closed connections. Some
>> we catch, others we don't.
>>
>>
>> On 6/21/10 2:47 PM, Ido Ran wrote:
>>
>>
>>> Thank you very much for the complete and quick answer.
>>> I understand that is is not production ready, that's what I count on, I
>>> trust you guys to make it production ready by the time I really need it
>>> (few
>>> month from now).
>>>
>>> Anyway I'll keep taking the latest nightly build when the implementation
>>> of
>>> WebSocket will update.
>>>
>>> Keep up the great work,
>>> Ido
>>>
>>> On Mon, Jun 21, 2010 at 7:14 PM, Justin Lee<justin.d.lee_at_oracle.com>
>>> wrote:
>>>
>>>
>>>
>>>
>>>> The closing frame isn't currently support though the .76 style
>>>> handshaking
>>>> is. The implementation as it stands is certainly ready for developmental
>>>> use. I'm not sure I'd be comfortably calling it production ready just
>>>> yet
>>>> as it still needs some stress testing. There are a couple of known
>>>> issues I
>>>> need to address including a conflict with the keep alive setting. I'm
>>>> looking in to the keep alive code now, actually, as there is a
>>>> non-websockets related issue anyway. The closing frame I should be able
>>>> to
>>>> add this week barring any major glassfish related issues. (We have an
>>>> internal deadline this week so that might complicate the schedule.)
>>>> Below
>>>> are the open issues I'm tracking on websockets.
>>>>
>>>> https://grizzly.dev.java.net/issues/show_bug.cgi?id=836
>>>> https://grizzly.dev.java.net/issues/show_bug.cgi?id=837
>>>> https://grizzly.dev.java.net/issues/show_bug.cgi?id=838
>>>> https://grizzly.dev.java.net/issues/show_bug.cgi?id=839
>>>> https://grizzly.dev.java.net/issues/show_bug.cgi?id=840
>>>> https://grizzly.dev.java.net/issues/show_bug.cgi?id=841
>>>> https://grizzly.dev.java.net/issues/show_bug.cgi?id=842
>>>>
>>>> Going forward, if you want to see all the websockets bugs, you can use
>>>> this
>>>> query:
>>>>
>>>> https://grizzly.dev.java.net/issues/buglist.cgi?Submit+query=Submit+query&component=grizzly&subcomponent=websockets&issue_status=NEW&issue_status=STARTED&issue_status=REOPENED&order=Issue+Number
>>>>
>>>>
>>>> On 6/21/10 11:44 AM, Ido Ran wrote:
>>>>
>>>>
>>>>
>>>>
>>>>> I'm sorry to bug you on this, but is there timeframe on when will
>>>>> WebSocket
>>>>> implementation will be "ready" - that is support close frame, guidelines
>>>>> of
>>>>> how to use it so that single problematic socket will be cause the whole
>>>>> other socket to get the message in delay, if get it at all.
>>>>>
>>>>> I am trying to write a simple notification implementation using
>>>>> Glassfish
>>>>> so
>>>>> I need the WebSocket support. I don't need security or anything, just
>>>>> the
>>>>> simple WebSocket working.
>>>>>
>>>>> Thank you,
>>>>> Ido
>>>>>
>>>>> On Mon, Jun 21, 2010 at 4:04 PM, Oleksiy Stashok<
>>>>> Oleksiy.Stashok_at_sun.com
>>>>>
>>>>>
>>>>>
>>>>>> wrote:
>>>>>>
>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>> Hi,
>>>>>>
>>>>>> I saw that you have update the source code in grizzly/trunk 2 days ago,
>>>>>> can
>>>>>> you please let us know, though mailing-list what has change and when
>>>>>> the
>>>>>> Glassfish 3.1 has WebSocket ready implementation?
>>>>>>
>>>>>> mostly it was change related to the latest 76 draft, the current
>>>>>> implementation will *also* support draft 76.
>>>>>> The change will be available in GFv3.1 milestone 2.
>>>>>>
>>>>>> I think Justin may have more info on this change.
>>>>>>
>>>>>> Thanks.
>>>>>>
>>>>>> WBR,
>>>>>> Alexey.
>>>>>>
>>>>>>
>>>>>> Thank you,
>>>>>> Ido
>>>>>>
>>>>>> On Thu, Jun 17, 2010 at 12:35 PM, Oleksiy Stashok<
>>>>>> Oleksiy.Stashok_at_sun.com
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>> wrote:
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>> Hi Ido,
>>>>>>>
>>>>>>> sure, please file an issue.
>>>>>>>
>>>>>>> Thanks.
>>>>>>>
>>>>>>> WBR,
>>>>>>> Alexey.
>>>>>>>
>>>>>>> On Jun 17, 2010, at 11:33 , Ido Ran wrote:
>>>>>>>
>>>>>>> Hi,
>>>>>>>
>>>>>>> I've manage to get the sample chat application (
>>>>>>> http://www.antwerkz.com/glassfish-web-sockets-sample/) to work with
>>>>>>> Glassfish 3.1 (10-jun nightly build).
>>>>>>> The problem is that the WebSocket implementation in Grizzly fail (or
>>>>>>> it
>>>>>>> take too long) to detect that a WebSocket has been abandoned by the
>>>>>>> client.
>>>>>>>
>>>>>>> The isConnected property of the WebSocket class do return false for
>>>>>>> disconnected sockets, but the application onClose method never get
>>>>>>> called.
>>>>>>>
>>>>>>> It is possible that I'm miss-understood who to work with Grizzly
>>>>>>> WebSocket
>>>>>>> but in the sample application the socket get piled in the "sockets"
>>>>>>> list.
>>>>>>> Also the send method of WebSocket get stuck if it is called on a
>>>>>>> closed
>>>>>>> socket which cause the broadcast method to be very weak and vulnerable
>>>>>>> to
>>>>>>> network problems.
>>>>>>>
>>>>>>> Also BaseWebSocket connected and state members are not set correctly,
>>>>>>> the
>>>>>>> connected is never set to true and state is always STARTING.
>>>>>>>
>>>>>>> Should I file those in ticketing system or they are known because this
>>>>>>> is
>>>>>>> still a work in progress?
>>>>>>>
>>>>>>> Thank you,
>>>>>>> Ido
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> On Thu, Jun 17, 2010 at 9:51 AM, Ido Ran<ido.ran_at_gmail.com> wrote:
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>> Can someone please write here the branch name that contain the latest
>>>>>>>> code of WebSocket - the code that actually ships with the nightly
>>>>>>>> builds of
>>>>>>>> Glassfish 3.1.
>>>>>>>>
>>>>>>>> Thanks,
>>>>>>>> Ido
>>>>>>>>
>>>>>>>>
>>>>>>>> On Tue, Jun 15, 2010 at 5:37 PM, Tako Schotanus<
>>>>>>>> quintesse_at_palacio-cristal.com> wrote:
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>> Ok, thanks for the heads up.
>>>>>>>>>
>>>>>>>>> Could you maybe give a reference to the issue so I can track its
>>>>>>>>> status
>>>>>>>>> without having to bother the list?
>>>>>>>>>
>>>>>>>>> Cheers,
>>>>>>>>> -Tako
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> On Tue, Jun 15, 2010 at 16:26, Justin Lee<justin.d.lee_at_oracle.com
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>> wrote:
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>> I'm working that now. So far the samples still work for me and
>>>>>>>>>> I've
>>>>>>>>>> tried several browsers on 2 different OSes. There *are* issues but
>>>>>>>>>> they
>>>>>>>>>> don't prevent the samples from working in general. I haven't seen
>>>>>>>>>> the new
>>>>>>>>>> spec rev in the wild yet so there shouldn't be any browser issues
>>>>>>>>>> just yet.
>>>>>>>>>> I'm working on cleaning up those other issues, though.
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> On 6/15/10 10:12 AM, Tako Schotanus wrote:
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>> Hi,
>>>>>>>>>>>
>>>>>>>>>>> any news on the status of this issue?
>>>>>>>>>>> I tried finding the issue in the bug database but without success.
>>>>>>>>>>>
>>>>>>>>>>> Cheers,
>>>>>>>>>>> -Tako
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> On Tue, Jun 8, 2010 at 01:43, Justin Lee<justin.d.lee_at_oracle.com>
>>>>>>>>>>> wrote:
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>> I saw that blog a few days ago and was wondering about that. I
>>>>>>>>>>>> didn't
>>>>>>>>>>>> expect chrome to update so quickly. I'll file an issue against
>>>>>>>>>>>> grizzly,
>>>>>>>>>>>> though, so I can get it on my docket to fix.
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> On 6/7/10 6:44 PM, Tako Schotanus wrote:
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>> Aha, I just found this on the chromium blog:
>>>>>>>>>>>>>
>>>>>>>>>>>>> http://blog.chromium.org/2010/06/websocket-protocol-updated.html
>>>>>>>>>>>>>
>>>>>>>>>>>>> Could possibly be related because I just found out that the
>>>>>>>>>>>>> things
>>>>>>>>>>>>> that
>>>>>>>>>>>>> worked before (those that I mentioned before) have all suddenly
>>>>>>>>>>>>> stopped
>>>>>>>>>>>>> working as well. Probably a browser update snuck me by without
>>>>>>>>>>>>> noticing.
>>>>>>>>>>>>>
>>>>>>>>>>>>> -Tako
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> On Mon, Jun 7, 2010 at 22:28, Tako Schotanus<tako_at_codejive.org>
>>>>>>>>>>>>> wrote:
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>> Hi,
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> I mentioned this already on Justin Lee's blog (
>>>>>>>>>>>>>> http://www.antwerkz.com/glassfish-web-sockets-sample) but I
>>>>>>>>>>>>>> haven't been
>>>>>>>>>>>>>> able to get the websocket chat sample to work with the latest
>>>>>>>>>>>>>> Glassfish
>>>>>>>>>>>>>> 3.1
>>>>>>>>>>>>>> (downloaded June 2nd).
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> First I tried to just re-create the needed files from the
>>>>>>>>>>>>>> information on
>>>>>>>>>>>>>> his blog and when that didn't work out I just downloaded the
>>>>>>>>>>>>>> latest
>>>>>>>>>>>>>> grizzly
>>>>>>>>>>>>>> and built the entire thing copying the websocket chat sample
>>>>>>>>>>>>>> WAR
>>>>>>>>>>>>>> to
>>>>>>>>>>>>>> the
>>>>>>>>>>>>>> Glassfish autodeploy folder. Although much better looking than
>>>>>>>>>>>>>> the
>>>>>>>>>>>>>> version I
>>>>>>>>>>>>>> threw together the result stayed the same. A strange error from
>>>>>>>>>>>>>> Chromium
>>>>>>>>>>>>>> about needing a helper application (see attached image).
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> It's not a problem with Chromium as far as I can see because
>>>>>>>>>>>>>> many
>>>>>>>>>>>>>> of the
>>>>>>>>>>>>>> sample on the net function without any problem, as well as
>>>>>>>>>>>>>> samples
>>>>>>>>>>>>>> that I
>>>>>>>>>>>>>> have running locally using jWebsocket and Jetty.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Cheers,
>>>>>>>>>>>>>> -Tako
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> PS: Just curious, but the Websocket implementation that Jetty
>>>>>>>>>>>>>> uses
>>>>>>>>>>>>>> (a
>>>>>>>>>>>>>> WebSocket is a subclass of HttpServlet) seems conceptually a
>>>>>>>>>>>>>> bit
>>>>>>>>>>>>>> simpler
>>>>>>>>>>>>>> than the way it's done in Glassfish (using both a WebSocket and
>>>>>>>>>>>>>> a
>>>>>>>>>>>>>> WebSocketApplication). Any particular reason as to why?
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>> ---------------------------------------------------------------------
>>>>>>>>>>>> To unsubscribe, e-mail: dev-unsubscribe_at_grizzly.dev.java.net
>>>>>>>>>>>> For additional commands, e-mail: dev-help_at_grizzly.dev.java.net
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>>
>>>> ---------------------------------------------------------------------
>>>> To unsubscribe, e-mail: dev-unsubscribe_at_grizzly.dev.java.net
>>>> For additional commands, e-mail: dev-help_at_grizzly.dev.java.net
>>>>
>>>>
>>>>
>>>>
>>>>
>>>
>>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: dev-unsubscribe_at_grizzly.dev.java.net
>> For additional commands, e-mail: dev-help_at_grizzly.dev.java.net
>>
>>
>>
>