[hybi] AS3WebSocket Library and Test App

Brian <theturtle32@gmail.com> Mon, 28 March 2011 19:21 UTC

Return-Path: <theturtle32@gmail.com>
X-Original-To: hybi@core3.amsl.com
Delivered-To: hybi@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id E39AD3A6811 for <hybi@core3.amsl.com>; Mon, 28 Mar 2011 12:21:47 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -3.145
X-Spam-Level:
X-Spam-Status: No, score=-3.145 tagged_above=-999 required=5 tests=[AWL=-0.146, BAYES_00=-2.599, J_CHICKENPOX_29=0.6, RCVD_IN_DNSWL_LOW=-1]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 7nr5HFPXijwW for <hybi@core3.amsl.com>; Mon, 28 Mar 2011 12:21:46 -0700 (PDT)
Received: from mail-iy0-f172.google.com (mail-iy0-f172.google.com [209.85.210.172]) by core3.amsl.com (Postfix) with ESMTP id 815FC3A67FD for <hybi@ietf.org>; Mon, 28 Mar 2011 12:21:46 -0700 (PDT)
Received: by iye19 with SMTP id 19so3900003iye.31 for <hybi@ietf.org>; Mon, 28 Mar 2011 12:23:24 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:date:message-id:subject:from:to :content-type; bh=o+Si3JxATeKX6pg4JKv5usV/ZCpHdnMmo1yCdrfLFtg=; b=k1pdBa7SE/CzCoeBz2wyfgItpeTwtDp545bZHsmyaXIKRJ3YJeB4kx+4idn5PstOsg bLKUHZNnLo8wGzYLb1Kbw3s+9vDbyZJKPizSMgYwclSgCsZuU+xNV2qHldLjtO+FKAG3 1drrkTjfpu5i4bNTE8XWlCqgOLF8+7BftMocs=
DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:date:message-id:subject:from:to:content-type; b=YPUnUxWoBrVgXo/MEM5w07z+7c7qO0XLp9Pee5p6+BBN9Zgi1JW03KtdL7yAxiZdI2 +eZtvljy6r4kzlRkHBrMzDC/hFFdbu/8aCMkdBmME4WcW/UuYAzEVx3iZbtjvCbWP6X+ pWIMfw86Zk08MjwRXj3FW/1Op36vEbS74aww8=
MIME-Version: 1.0
Received: by 10.231.180.25 with SMTP id bs25mr3788280ibb.151.1301340202837; Mon, 28 Mar 2011 12:23:22 -0700 (PDT)
Received: by 10.231.168.202 with HTTP; Mon, 28 Mar 2011 12:23:22 -0700 (PDT)
Date: Mon, 28 Mar 2011 12:23:22 -0700
Message-ID: <AANLkTi=M_jxfsfMxYAsKG=6_SByYM=VwV_eD-q-aWqGG@mail.gmail.com>
From: Brian <theturtle32@gmail.com>
To: Hybi <hybi@ietf.org>
Content-Type: text/plain; charset="ISO-8859-1"
Subject: [hybi] AS3WebSocket Library and Test App
X-BeenThere: hybi@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: Server-Initiated HTTP <hybi.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/hybi>, <mailto:hybi-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/hybi>
List-Post: <mailto:hybi@ietf.org>
List-Help: <mailto:hybi-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/hybi>, <mailto:hybi-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 28 Mar 2011 19:21:48 -0000

Hi, all!

My in-progress ActionScript 3 WebSocket-06 client library is now up on
GitHub, in case any of you might find it a helpful sparring-partner
for your server implementations.  You can find it here:
https://github.com/worlize/AS3WebSocket

There are still a few things missing that I intend to address soon,
and it hasn't undergone extensive testing yet.  I also built a test
application with Adobe Air that knows about a couple of the
libwebsocket-test-server subprotocols.  You can grab a pre-built .air
binary of that app under the "Downloads" section of the GitHub repo.

Screenshot showing AS3WebSocket interoperating with Andy Green's test
page: http://blog.worlize.com/media/as3websocket.png

Current Features:
- Support for -06 draft including the handshake, framing, and masking
- Support for the deflate-stream extension

Known Issues:
- Fragmentation is not yet supported
- There is no user-provided extension API implemented
- No wss:// support yet
- Only the libwebsocket-test-server subprotocols mentioned have been
tested so far
- Only tested in Adobe Air, not yet in Flash Player.. probably have to
add a little code to make it check for a policy file for Flash Player.
- URL parsing could be more robust
- Server response header parsing is a bit brittle


Cheers,
Brian