Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Next generation Orbited (putting a WebSocket in every browser.)
JavaScript Python
branch: master

Merge pull request #14 from rossdylan/fcc90ebd46670a65cfc0b513eef3435…

…845ffc6e1

to run orbited2 you need static and paste
latest commit dded314381
@fairfieldt fairfieldt authored
Failed to load latest commit information.
daemon added static, and paste to install_requires, because orbited2 does re…
docs removed blank doc files for prev/next links. removed residual crap fr…
site new orbited project entries
tests fix bug due to jsio std.URI api change; fix bug due to jsio lib.Enum …
.gitignore .gitignore added to repo
README tweak README
example_orbited2.cfg

README

Orbited2
========

I have turned the reins to Orbited 0.7.x/0.8.x over to other developers, and there is plenty to do in order to stabilize that branch. As a side project, I'm interested in building a next-generation of Orbited which will just work out of the box, even more so than the last Orbited just worked. In particular, I want to solve all that legacy, cross-domain bs, and I want to offer two modes 1) tcp proxying, 2) websocket proxying. 

TCP Proxying improvments
------------------------

- No more stupid domain hacks
- Web-based admin panel
- No @#$%@^ on-board STOMP.

WebSocket proxying
------------------

Why do we need a websocket proxy, you ask?  Lets say you write a websocket server. Great, you now support chrome... and safari I suppose. But wait, which draft of websocket, 75? 76? And before ong, 77..? 88? Time to Write ten versions of your server, just to get the latest Webkit browers working.

Instead, include Orbited.js, and call:

Orbited.Websocket.install({
	proxyUri: "https://orbited.example.com:8001"
	protocolVersion: "rev76",
	forceProxy: true
});

Next you can just use the WebSocket api:

var ws = new WebSocket();
//etc.

Now, you can simply code a rev76 websocket server, and Orbited will always do the right thing. If your browser supports that websocket, it will just use it. If it doesn't, it will proxy through orbited, transforming the protocol to the requested revision. Orbited will choose the best transport level protocol regardless of browser. Perhaps that transport will be script-tag longpolling (cross-domain IE6), or perhaps it will be WebSocket rev75 (Older chrome.) Maybe it will be flash. Who cares though, just write a WebSocket server and be done with it.

Something went wrong with that request. Please try again.