开发者

create simple node js server and client

What i want to be able to do is have a server which one client will send updates and multiple other clients would receive those updates and update the relevant parts of the page.

This must be really easy todo with node js, but i just dont know where to get started.

Is there anyone here that can help and give me a push of how to startup this client and server.

Thank so much!

I have looked all over for something to help me but they all end up failing....


UPDATE

I want to use socket.io and nodeJS to make the connections.

I have starter code for the server which i got online:

var http = require('http'),
    io = require('socket.io'), // for npm, otherwise use require('./path/to/socket.io')

server = http.createServer(function(req, res){
 // your normal server code
 res.writeHead(200, {'Content-Type': 'text/html'});
 res.end('<h1>Hello world</h1>');
});
server.listen(5454);

// socket.io
var socket = io.listen(server);
socket.on('connection', function(client){
  // new client is here!
  console.log('new connection!');
  client.on('message', function(){ console.log('send message') })
  client.on('disconnect', function(){ console.log('disconnect') })
});

also i have code for the client. but it has errors:

  <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>
<script>
 var socket = new io.Socket('localhost');
 socket.connect();
 console.log(socket);
 socket.on('connect', function(evt){ console.log('connected',evt) })
 socket.on('message', function(evt){ console.log('got message',evt) })
 socket.on('disconnect', function(evt){ console.log('disconnected',evt) })
</script>

UPDATE 2:

This is what happens when i run the server:

[nlubin@localhost websocket]$ sudo node server.js
10 Mar 17:40:49 - socke开发者_如何学运维t.io ready - accepting connections

ok and this is what i see in the console in chrome when i run the client:

    Unexpected response code: 301
1299796919120Failed to load resource: the server responded with a status of 404 (Not Found)
XHR finished loading: "http://localhost/socket.io/xhr-polling//1299796919120".
1299796919120Failed to load resource: the server responded with a status of 404 (Not Found)
XHR finished loading: "http://localhost/socket.io/xhr-polling//1299796919120".
1299796919130Failed to load resource: the server responded with a status of 404 (Not Found)
XHR finished loading: "http://localhost/socket.io/xhr-polling//1299796919130".
1299796919130Failed to load resource: the server responded with a status of 404 (Not Found)
XHR finished loading: "http://localhost/socket.io/xhr-polling//1299796919130".
1299796919151Failed to load resource: the server responded with a status of 404 (Not Found)
XHR finished loading: "http://localhost/socket.io/xhr-polling//1299796919151".
1299796919157Failed to load resource: the server responded with a status of 404 (Not Found)
XHR finished loading: "http://localhost/socket.io/xhr-polling//1299796919157".
1299796919162Failed to load resource: the server responded with a status of 404 (Not Found)
XHR finished loading: "http://localhost/socket.io/xhr-polling//1299796919162".
1299796919166Failed to load resource: the server responded with a status of 404 (Not Found)
XHR finished loading: "http://localhost/socket.io/xhr-polling//1299796919166".
1299796919170Failed to load resource: the server responded with a status of 404 (Not Found)
XHR finished loading: "http://localhost/socket.io/xhr-polling//1299796919170".
1299796919174Failed to load resource: the server responded with a status of 404 (Not Found)
XHR finished loading: "http://localhost/socket.io/xhr-polling//1299796919174".
1299796919177Failed to load resource: the server responded with a status of 404 (Not Found)
XHR finished loading: "http://localhost/socket.io/xhr-polling//1299796919177".
1299796919181Failed to load resource: the server responded with a status of 404 (Not Found)

And those XHR error keep happening


You really need to give us more context to what you are doing if you want to get a decent an answer.

I assume when you say 'client' you are referring to a web browser. And if I understand you correctly you're going to want to be 'pushing' data from the server to several web browser clients. In which case you are going to want to keep a persistent connection open between the browser and server--check out Socket.io.

The basic flow will be (1) a user visits your webpage, (2) some javascript which lives on that webpage will connect to your Node.js/Socket.io server, (3) the server can then push messages to any/all of the currently connected browsers AND the browser can send messages to the server, (4) for messages coming from the server the Javascript running on each client can interpret those messages and make the appropriate changes to the web page's DOM.


EDIT: Your client side javascript can't connect to the server. If they are running on the same machine (localhost) then that probably means the port is the problem.

Try specifying the 'port' option for your client, which in your case is '5454'.

var socket = new io.Socket('localhost',{'port':5454});

Be sure to restart the Node.js server AND refresh the webpage.

0

上一篇:

下一篇:

精彩评论

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

最新问答

问答排行榜