W3C home > Mailing lists > Public > public-webapps@w3.org > April to June 2011

Re: [websockets] Constructor vs. open()

From: Simon Pieters <simonp@opera.com>
Date: Mon, 30 May 2011 09:21:52 +0200
To: "Adrian Bateman" <adrianba@microsoft.com>, "Jonas Sicking" <jonas@sicking.cc>
Cc: "Web Applications Working Group WG (public-webapps@w3.org)" <public-webapps@w3.org>
Message-ID: <op.vv99eqglidj3kv@simon-pieterss-macbook.local>
On Sat, 28 May 2011 07:54:56 +0200, Jonas Sicking <jonas@sicking.cc> wrote:

> On Fri, May 27, 2011 at 5:47 PM, Adrian Bateman <adrianba@microsoft.com>  
> wrote:
>> As I proposed in March [1], we think it makes sense to separate the  
>> WebSocket constructor from the operation to initiate the network  
>> operation. We proposed a separate open() method similar to XHR. This  
>> allows a WebSocket object to be constructed and initialised prior to  
>> communication. We think this makes the design more future-proof because  
>> otherwise and new information required prior to establishing the  
>> connection will need to be added to the constructor arguments.
>>
>> I'm interested to know how other implementers feel about this proposal.
>
> I do really appreciate the future-proof argument. However, adding
> arguments to the constructor can take us pretty far. Something like:
>
> p = {
>   protocol: "foo",
>   timeout: 60,
>   priority: 5,
>   encryption: {
>     algo: "AES256",
>     key: x
>   }
> };
> w = new WebSocket(url, p)
>
> is pretty comparable to:
>
> w= new WebSocket();
> w.protocol = "foo";
> w.timeout = 60;
> w.priority = 5;
> w.encyption.algo = "AES256";
> w.encyption.key = x;
> w.open(url);
>
> The main argument against a .open function that I have is that it
> forces us to deal with what happens if you call .open multiple times.
> It's kind of a pain that XMLHttpRequest allows multiple calls to open
> as it adds a lot of implementation complexity for very little user
> benefit.
>
> / Jonas

This argues for making the subprotocols argument an object in the API. I  
think that would be a good change, and I agree that open() would be added  
complexity with little benefit.

http://www.w3.org/Bugs/Public/show_bug.cgi?id=12816

-- 
Simon Pieters
Opera Software
Received on Monday, 30 May 2011 07:22:36 GMT

This archive was generated by hypermail 2.3.1 : Tuesday, 26 March 2013 18:49:45 GMT