HTML5 Websocket Script working in Ubuntu, not working in Win7 or WinXP

I've installed lemmingzshadow / php-websocket on my Win7 machine, which was pretty simple to do:

  1. unzipped the content into my htdocs folder.
  2. executed server.php from command line.
  3. requested the file /client/status.html from a browser that supports Websockets.

Now here's what I get on the local machine running Google Chrome 19 / Windows 7

Win7 click to enlarge

It says "connected" for 30 seconds (displaying no info from the server) then says "disconnected", and here's the related command line output:

command line report

Exact same issue when accessing the script through LAN from another computer with Firefox 12 / WinXP

winXP click to enlarge

It only seems to work when accessing it from my VirtualBox Ubuntu, using either Firefox 7.0.1 or Chromium

Ubuntu click to enlarge

It's been days since I've trying to figure out why this is happening, tried other Websocket scripts and they only work when I access them from Ubuntu. I even installed this same script on Ubuntu / XAMPP and was still stuck with the same issue (script running fine on Ubuntu but not on the other operating systems).

I'm going crazy over this, any idea why it's happening??

In that code (lemmingzshadow), the default behavior is for the server to mask the data it sends to the client:

Connection.php: public function send($payload, $type = 'text', $masked = true)

For some reason this will work in Chrome 18, but it is against the latest websocket spec and does not work in Chrome 19.

RFC 6455 Sec 5.1:

A server MUST NOT mask any frames that it sends to the client. A client MUST close a connection if it detects a masked frame.