ちょっとサンプルを作ってみました。
app.js
lang
1var fs = require('fs');
2var send = fs.readFileSync('send.html');
3var recv = fs.readFileSync('recv.html');
4var http = require('http').createServer(function(req, res) {
5 var html = (req.url === '/send') ? send : recv;
6 res.writeHead(200, {'Content-Type': 'text/html'});
7 res.end(html);
8});
9var io = require('socket.io')(http);
10http.listen(3000);
11io.on('connection', function(socket) {
12 socket.on('msg', function(data) {
13 io.emit('msg', data);
14 });
15});
send.html
lang
1<!doctype html>
2<meta charset="utf-8">
3<title>chat</title>
4<script src="/socket.io/socket.io.js"></script>
5<script src="//code.jquery.com/jquery-2.1.3.min.js"></script>
6<form><input></form>
7<script>
8var socket = io();
9$('form').submit(function() {
10 socket.emit('msg', $('input').val());
11 $('input').val('');
12 return false;
13});
14</script>
recv.html
lang
1<!doctype html>
2<meta charset="utf-8">
3<title>chat</title>
4<script src="/socket.io/socket.io.js"></script>
5<script src="//code.jquery.com/jquery-2.1.3.min.js"></script>
6<div></div>
7<script>
8var socket = io();
9socket.on('msg', function(data) {
10 $('div').prepend(data + '<br>');
11});
12</script>
node app
で起動して、http://localhost:3000/send
が送信側、http://localhost:3000
が受信側になります。
メッセージを永続化したい場合は、app.jsのsocket.onとio.emitの間にDBなどへ保存する処理を入れてください。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2015/05/21 02:54