Skip to content

Instantly share code, notes, and snippets.

@holmesal
Created March 6, 2014 15:23
Show Gist options
  • Save holmesal/9392023 to your computer and use it in GitHub Desktop.
Save holmesal/9392023 to your computer and use it in GitHub Desktop.
socket example
<!DOCTYPE html>
<head>
<script src="http://node.staging.robinpowered.com/socket.io/socket.io.js"></script>
<script type="text/javascript">
socket = io.connect('http://robin-grid.omrdev.com:80/clients');
// socket = io.connect('http://localhost:9200/clients');
// baseSocket = io.connect('http://localhost:9200/clients');
var globalEvent = "*";
socket.$emit = function (name) {
if(!this.$events) return false;
for(var i=0;i<2;++i){
if(i==0 && name==globalEvent) continue;
var args = Array.prototype.slice.call(arguments, 1-i);
var handler = this.$events[i==0?name:globalEvent];
if(!handler) handler = [];
if ('function' == typeof handler) handler.apply(this, args);
else if (io.util.isArray(handler)) {
var listeners = handler.slice();
for (var i=0, l=listeners.length; i<l; i++)
listeners[i].apply(this, args);
} else return false;
}
return true;
};
socket.on(globalEvent,function(event){
var args = Array.prototype.slice.call(arguments, 1);
console.log("Global Event = "+event+"; Arguments = "+JSON.stringify(args));
});
// Connect on channel and base
// baseSocket = io.connect('http://localhost:9200/bases')
socket.on('connect', function(data){
console.log('channel socket connected');
// Join channel 2
socket.emit('join', {channel:0}, function(room){
console.log('got room back');
console.log(room)
data = '123,44,255'
});
});
// Listen for data
socket.on('data',function(data){
console.log(data);
});
// // How to change the mode from 'scan' to 'connect'
// // baseSocket.emit('changeMode',{mode:'connect'});
// baseSocket.on('connect', function(data){
// console.log('base socket connected')
// // Device discovered:
// baseSocket.on('discover', function(data){
// console.log(data);
// });
// });
</script>
</head>
<body>
<p>Open ze console</p>
</body>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment