node.js running alongside Apache PHP?

后端 未结 5 1936
后悔当初
后悔当初 2021-01-30 01:56

I am trying to get my head round node.js...

I am very happy with my LAMP set up as it currently fulfils my requirements. Although I want to add some real-time features i

5条回答
  •  迷失自我
    2021-01-30 02:10

    I suggest you use Socket.io along side node.js. Install and download the libs from http://socket.io/. You can run it along side your Apache server no problems.

    First create a node server:

    var http = require('http')
      , url = require('url')
      , fs = require('fs')
      , io = require('../')//path to your socket.io lib
      , sys = require(process.binding('natives').util ? 'util' : 'sys')
      , server;
    
    server = http.createServer(function(req, res){
      var path = url.parse(req.url).pathname;
    }),
    
    server.listen(8084);//This could be almost any port number
    

    Second, run your server from the command line using:

    node /path/to/your/server.js
    

    Third, connect to the socket using client side js:

    var socket = new io.Socket(null, {port: 8084, rememberTransport: false});
    socket.connect();
    

    You will have to have include the socket.io lib client side aswell.

    Send data from client side to the node server using:

    socket.send({data:data});
    

    Your server.js should also have functions for processing requests:

    io.on('connection', function(client){
    //action when client connets
    
     client.on('message', function(message){
        //action when client sends msg
      });
    
      client.on('disconnect', function(){
        //action when client disconnects
      });
    });
    

    There are two main ways to send data from the server to the client:

    client.send({ data: data});//sends it back to the client making the request
    

    and

    client.broadcast({  data: data});//sends it too every client connected to the server
    

提交回复
热议问题