Added the Event model
This commit is contained in:
parent
156a8748ef
commit
3fe9022d3e
2
app.js
2
app.js
|
@ -1,6 +1,6 @@
|
||||||
var argv = require("commander")
|
var argv = require("commander")
|
||||||
.option("-p, --port <n>", "port to use", parseInt)
|
.option("-p, --port <n>", "port to use", parseInt)
|
||||||
.parse(process.argv);
|
.parse(process.argv);
|
||||||
|
|
||||||
PORT = 80; // Default port.
|
PORT = 80; // Default port.
|
||||||
if (argv.port) {
|
if (argv.port) {
|
||||||
|
|
|
@ -12,8 +12,8 @@
|
||||||
<script src="/js/client.js"></script>
|
<script src="/js/client.js"></script>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
// Run the client.
|
// Run the client!
|
||||||
new Client();
|
new Client().connect("");
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
</body>
|
</body>
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/**
|
/**
|
||||||
* The Client class
|
* The Client class.
|
||||||
*
|
*
|
||||||
* @public
|
* @public
|
||||||
*/
|
*/
|
||||||
|
@ -7,32 +7,54 @@
|
||||||
function Client() {
|
function Client() {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Self references.
|
* Self reference.
|
||||||
*
|
*
|
||||||
* @private
|
* @private
|
||||||
*/
|
*/
|
||||||
|
|
||||||
var self = this;
|
var self = this;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* List of networks.
|
||||||
|
*
|
||||||
|
* @type {Array<Network>}
|
||||||
|
* @public
|
||||||
|
*/
|
||||||
|
|
||||||
|
this.networks = [];
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The active socket.
|
* The active socket.
|
||||||
*
|
*
|
||||||
* @private
|
* @type {Socket}
|
||||||
|
* @public
|
||||||
*/
|
*/
|
||||||
|
|
||||||
var socket = io.connect("")
|
this.socket;
|
||||||
.on("init", function(data) { self.init(data); });
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Set up new socket connections.
|
* Connect to the server via WebSockets and start listening
|
||||||
|
* to events sent by the server.
|
||||||
*
|
*
|
||||||
* @param {String} data
|
* @param {String} host
|
||||||
* @public
|
* @public
|
||||||
*/
|
*/
|
||||||
|
|
||||||
this.init = function(data) {
|
this.connect = function(host) {
|
||||||
// Debug
|
this.socket = io.connect(host)
|
||||||
console.log(data);
|
.on("init", function(networks) { self.networks = networks; })
|
||||||
|
.on("event", this.handleEvent);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Handle events sent by the server.
|
||||||
|
*
|
||||||
|
* @param {Event} event
|
||||||
|
* @public
|
||||||
|
*/
|
||||||
|
|
||||||
|
this.handleEvent = function(event) {
|
||||||
|
// Debug
|
||||||
|
console.log(event);
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
(function(exports) {
|
(function(exports) {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Declare the namespaces.
|
* Declare the namespace.
|
||||||
*
|
*
|
||||||
* @namespace
|
* @namespace
|
||||||
*/
|
*/
|
||||||
|
@ -139,4 +139,53 @@
|
||||||
this.user = "";
|
this.user = "";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Event model.
|
||||||
|
*
|
||||||
|
* Used when pushing changes between the server
|
||||||
|
* and the clients.
|
||||||
|
*
|
||||||
|
* @public
|
||||||
|
*/
|
||||||
|
|
||||||
|
models.Event = function() {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Action to perform.
|
||||||
|
*
|
||||||
|
* @type {String}
|
||||||
|
* @public
|
||||||
|
*/
|
||||||
|
|
||||||
|
this.action = "";
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Model type.
|
||||||
|
*
|
||||||
|
* @type {String}
|
||||||
|
* @public
|
||||||
|
*/
|
||||||
|
|
||||||
|
this.type = "";
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The target network or channel.
|
||||||
|
*
|
||||||
|
* @type {String}
|
||||||
|
* @public
|
||||||
|
*/
|
||||||
|
|
||||||
|
this.target = undefined;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The data.
|
||||||
|
*
|
||||||
|
* @type {Int|String|Object}
|
||||||
|
* @public
|
||||||
|
*/
|
||||||
|
|
||||||
|
this.data = "";
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
})(this);
|
})(this);
|
||||||
|
|
|
@ -23,15 +23,34 @@ module.exports = Server;
|
||||||
function Server() {
|
function Server() {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Active sockets.
|
* Self reference.
|
||||||
*
|
*
|
||||||
* @private
|
* @private
|
||||||
*/
|
*/
|
||||||
|
|
||||||
var sockets;
|
var self = this;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Start the server and listen to the specified port.
|
* List of networks.
|
||||||
|
*
|
||||||
|
* @type {Array<Network>}
|
||||||
|
* @public
|
||||||
|
*/
|
||||||
|
|
||||||
|
this.networks = [];
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Active sockets managed by socket.io.
|
||||||
|
*
|
||||||
|
* @type {Object}
|
||||||
|
* @public
|
||||||
|
*/
|
||||||
|
|
||||||
|
this.sockets;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Start the server and listen for connections
|
||||||
|
* on the specified port.
|
||||||
*
|
*
|
||||||
* @param {Int} port
|
* @param {Int} port
|
||||||
* @public
|
* @public
|
||||||
|
@ -41,7 +60,7 @@ function Server() {
|
||||||
var app = connect().use(connect.static("client"))
|
var app = connect().use(connect.static("client"))
|
||||||
.listen(port);
|
.listen(port);
|
||||||
|
|
||||||
var sockets =
|
this.sockets =
|
||||||
io.listen(app).on("connection", this.init)
|
io.listen(app).on("connection", this.init)
|
||||||
.sockets;
|
.sockets;
|
||||||
};
|
};
|
||||||
|
@ -54,7 +73,19 @@ function Server() {
|
||||||
*/
|
*/
|
||||||
|
|
||||||
this.init = function(socket) {
|
this.init = function(socket) {
|
||||||
// ..
|
self.sockets.emit("init", self.networks);
|
||||||
|
socket.on("input", self.handleUserInput);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Handle incoming inputs sent from clients.
|
||||||
|
*
|
||||||
|
* @param {String} input
|
||||||
|
* @public
|
||||||
|
*/
|
||||||
|
|
||||||
|
this.handleUserInput = function(input) {
|
||||||
|
// Debug
|
||||||
|
console.log(input);
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
Loading…
Reference in New Issue