开发者

Node Js a simple server with query url

I've bee开发者_运维技巧n looking at examples and I just cannot get how it works.

What I'm trying to do is pretty simple I would presume and hoping if someone could give me a hand?

I'm trying to have a server running that clients could connect to. Lets say 127.0.0.1:8126 And if someone connects using a query string e.g. 127.0.0.1:8126/? color=red then every client that is currently on the server would have the background of the page turn to red.

Could someone help me out with this?

Thanks so much! Tyler


for realtime updates you should use socket.io or the like.

client.html:

<!DOCTYPE html>
  <title>test</title>
  <script src="http://cdn.socket.io/stable/socket.io.js"></script>
  <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js"></script>
  <input type=text>
  <button>send css</button>
  <script>
    $(document).ready(function(){
      var socket = new io.Socket();
      socket.connect();
      socket.on('message',function(msg){
        $('body').css(msg);
      });
      $('button').click(function(){
         socket.send(JSON.parse($('input').val()));
      });
    });
   </script>

server.js

var fs=require("fs");
var clientpage = fs.readFileSync("client.html");
var http = require('http'),  
    io = require('socket.io');

var server = http.createServer(function(req, res){ 
 res.writeHead(200, {'Content-Type': 'text/html'});
 res.end(clientpage);
});
server.listen(8126);

var socket = io.listen(server); 
socket.on('connection', function(client){ 
  client.on('message', function(data){ 
    socket.broadcast(data);
  });
});

It's a crude example since you need to type in the proper json for jquery.css() (eg {"background-color":"red"}) but it runs

link

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜