README
Socket mobile controller
Usage
$ npm install socket-mobile-controller --save-dev
Server
var express = require('express');
var app = express();
var http = require('http').Server(app);
var io = require('socket.io')(http);
var socketManager = require('./lib/SocketManager')(io, {
uidMaxNum : 4,
mobileRefPath : 'mobile'
});
/*
- uidMaxNum // max number of sessions, ie. 9999
- mobileRefPath // pathname to distinguish between desktop and mobile
*/
Client
<script src="/socket.io/socket.io.js"></script>
var socket = io.connect('http://localhost:8888');
socket.on('connect', onConnect);
socket.on('message', onMessage);
socket.on('disconnect', onDisconnect);
function onMessage(e)
{
switch(e.message)
{
case "connected":
this.socket.UID = e.uid;
break;
case "device-connected":
console.log(e);
break;
case 'control-change':
console.log('control-change:', e);
break;
}
}
dist
folder
Full example on Docker + supervisord
Setup your Docker environment
Make sure you change the following variables inside the Makefile
- IMAGE_NAME
- CONTAINER_NAME
Supervisord
Change the paths to your folders and server script on devops/supervisord.conf
Dockerfile
Check the Dockerfile
for any changes in folder names or files that you want to include / remove
Ready?
Once you're ready, you can just run
make docker
Check your Docker configuration and open the URL it's running.
AWS Elastic Beanstalk
This setup should just run out of the box on a AWS EBS setup with Docker.
Have fun!
@Thanks to grudelsud for his big patience with me =)