Skip to content

Instantly share code, notes, and snippets.

@skopp
Forked from max-mapper/client.js
Created April 1, 2013 20:35
Show Gist options
  • Save skopp/5287543 to your computer and use it in GitHub Desktop.
Save skopp/5287543 to your computer and use it in GitHub Desktop.
pizzacats:sockettest maxogden$ node -v
v0.10.0
pizzacats:sockettest maxogden$ browserify -v
2.8.1
pizzacats:sockettest maxogden$ browserify client.js -o bundle.js && node server.js
var url = require('url')
var websocket = require('websocket-stream')
var engine = require('voxel-engine')
var duplexEmitter = require('duplex-emitter')
console.log('starting', 1)
var socket = websocket('ws://' + url.parse(window.location.href).host)
var emitter = duplexEmitter(socket)
window.emitter = emitter
window.socket = socket
emitter.on('hello', function() {
console.log('HI')
})
<html>
<head>
</head>
<body>
<script type="text/javascript" src="bundle.js"></script>
</body>
</html>
{
"name": "sockettest",
"version": "0.0.0",
"description": "ERROR: No README.md file found!",
"main": "client.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"start": "node server.js"
},
"repository": "",
"author": "",
"license": "BSD",
"dependencies": {
"hat": "0.0.3",
"websocket-stream": "0.0.5",
"duplex-emitter": "~0.1.8",
"ecstatic": "~0.4.2",
"ws": "~0.4.25"
}
}
var path = require('path')
var http = require('http')
var ecstatic = require('ecstatic')
var WebSocketServer = require('ws').Server
var websocket = require('websocket-stream')
var duplexEmitter = require('duplex-emitter')
var uuid = require('hat')
var server = http.createServer(ecstatic(path.join(__dirname)))
var wss = new WebSocketServer({server: server})
wss.on('connection', function(ws) {
// turn 'raw' websocket into a stream
var stream = websocket(ws)
var emitter = duplexEmitter(stream)
console.log('connected')
emitter.emit('hello', {hi: true})
})
server.listen(3000)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment