This is a super simple question but i am really new to Node, i'm reading all the beginners guide now so no need to direct me to them! guides tell you how to use node not how to get the thing working!
I'm finding node.js tutorials assume way too much knowledge and set up.
i have my app.js file which contains:
SERVER SIDE
/**
* Module dependencies.
*/
var express = require('express');
var routes = require('./routes');
var user = require('./routes/user');
var http = require('http');
var path = require('path');
// New Code
var mongo = require('mongojs');
var db = mongo('site');
var app = express();
// all environments
app.set('port', process.env.PORT || 80);
app.set('views', path.join(__dirname, 'views'));
app.engine('html', require('ejs').renderFile);
app.use(express.favicon());
app.use(express.logger('dev'));
app.use(express.json());
app.use(express.urlencoded());
app.use(express.methodOverride());
app.use(express.cookieParser('your secret here'));
app.use(express.session());
app.use(app.router);
app.use(express.static(path.join(__dirname, 'public')));
// development only
if ('development' == app.get('env')) {
app.use(express.errorHandler());
}
app.get('/libraries/*', function(req, res){
req.url.replace('/libraries', ''); // remove libraries prefix
var path = req.url.split("/libraries").pop();
console.log(path);
switch (path) {
case '/socket.io/socket.io.js':
res.sendfile('node_modules/socket.io/node_modules/socket.io-client/dist/socket.io.js');
break;
}
});
// setup server
var server = http.createServer(app).listen(app.get('port'), function(){
console.log('Express server listening on port ' + app.get('port'));
});
// setup socket
var io = require('socket.io').listen(server);
CLIENT SIDE:
var socket = io.connect();
socket.on('ready', function (data) {
marketData = data; // raw data from the DB
});
All good and well.
I want to console log 'test' into the website console.
My assumption is i define a function server side and call it client side... How on earth do I do this?!?!
I just want them to talk to each other.
Server side i would like to define a var and call it client side.
My assumption:
Server side:
function test () {
console.log ('test');
}
Client side:
test();
Console on my website says: 'test'.
test(). As far as I know, there's no remote procedure calling functionality built into web sockets like you seem to be looking for. You have to write your own primitive one which just examines what the client sent and then decide what to do based on what it sent. It's nothing more than a fewifstatements on the server and send data on the client.