W3C home > Mailing lists > Public > whatwg@whatwg.org > September 2009

[whatwg] Feature requests in WebSocket (Was: BWTP for WebSocket transfer protocol)

From: Jeremy Orlow <jorlow@chromium.org>
Date: Fri, 4 Sep 2009 15:06:09 +0900
Message-ID: <5dd9e5c50909032306x3a88fe0fva3f27346d9765dac@mail.gmail.com>
For the record, I'm perfectly happy with WebSockets not being made any more
complicated for v1 (i.e. no multi-plexing), but I don't think your arguments
against it are compelling at all, so I'm going to play devils advocate:

On Fri, Sep 4, 2009 at 2:37 PM, Ian Hickson <ian at hixie.ch> wrote:

> > > What would the wire level look like?
> >
> > It could be as simple as this: An extra byte or two at the beginning of
> > every message that says which "channel" is transmitting.  A way to send
> > control messages, two of which would be used to open and close channels.
>
> I don't understand why we'd do that rather than just use two TCP
> connections.
>

Latency and limits within the OS.

On Fri, Sep 4, 2009 at 2:45 PM, Ian Hickson <ian at hixie.ch> wrote:

> On Fri, 14 Aug 2009, Jonas Sicking wrote:
> > >
> > > How do you envisage multiplexing working? It's not clear to me what we
> > > could do that would be easier to handle than just having the script
> > > manually do the multiplexing at the application layer. What would the
> > > API look like? What would the wire level look like?
> >
> > Some advantages of putting it in the protocol:
> >
> > 1. More likely the UA implementors will make the effort of implementing
> > multiplexing (and doing so correctly), than that website authors will.
>
> The authors still have to implement it on the server side, though.
>

You could have it be an optional feature.  Most websites are hosted through
just a couple servers like how most websites are viewed in just a couple
browsers.  Its not like every web developer would have to implement their
own server.  I don't understand why you think this server side argument is
so compelling

> 3. Scripts in different tabs, and even from different sites, that
> > connect to the same server would be able to share TCP/IP channel.
>
> Do we really want two different pages sharing the same TCP connection?
>

Once again yes, for latency reasons.


> That seems like a disaster waiting to happen -- it just takes one minor
> bug on the server for information to end up in the wrong channel.
>

You could say the same thing about so many parts of the networking stack.
 An off by one error here or there could easily mis-route a message to the
wrong app/router/etc.  But they generally don't.  When there are worries
about correctness, you make test suites.  I really don't understand why you
think this is so risky.


> Seems reasonable, though I am skeptical about throwing this level of
> complexity at Web authors, and I don't really know how we would expose it
> at the API level.
>

Why is this necessary?  It seems like when you open multiple WebSocket
connections to the same server, they could transparently share the same
connection.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.whatwg.org/pipermail/whatwg-whatwg.org/attachments/20090904/6836ebbf/attachment.htm>
Received on Thursday, 3 September 2009 23:06:09 UTC

This archive was generated by hypermail 2.3.1 : Monday, 13 April 2015 23:08:52 UTC