Skip to content

Instantly share code, notes, and snippets.

@atsuya046
Created May 29, 2013 15:23
Show Gist options
  • Save atsuya046/5671146 to your computer and use it in GitHub Desktop.
Save atsuya046/5671146 to your computer and use it in GitHub Desktop.
/**
* Module dependencies.
*/
var express = require('express')
, routes = require('./routes')
, user = require('./routes/user')
, http = require('http')
, path = require('path');
var app = express();
app.configure(function(){
app.set('port', process.env.PORT || 3000);
app.set('views', __dirname + '/views');
app.set('view engine', 'ejs');
app.use(express.favicon());
app.use(express.logger('dev'));
app.use(express.bodyParser());
app.use(express.methodOverride());
app.use(app.router);
app.use(express.static(path.join(__dirname, 'public')));
});
app.configure('development', function(){
app.use(express.errorHandler());
});
app.get('/', routes.index);
app.get('/users', user.list);
var server = http.createServer(app)
server.listen(app.get('port'), function(){
console.log("Express server listening on port " + app.get('port'));
});
// socket
var io = require('socket.io').listen(server);
io.sockets.on('connection', function(socket){
socket.on('send_message', function(msg){
socket.emit('push_message', msg);
socket.broadcast.emit('push_message', msg);
});
socket.on('disconnect', function(){
log('disconnected...');
});
});
$(function(){
var socket = io.connect('http://localhost');
socket.on('connect', function(){
console.log('connected');
});
$('#btn').click(function() {
var message = $('#message');
console.log(message);
socket.emit('send_message', message.val());
});
socket.on('push_message', function(msg){
console.log(msg);
var date = new Date();
$('#list').prepend($('<dt>' + date + '</dt><dd>' + msg + '</dd>'));
});
socket.on('updateDB', function(msg){
console.log(msg);
});
});
<!DOCTYPE html>
<html>
<head>
<title><%= title %></title>
<link rel='stylesheet' href='/stylesheets/style.css' />
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
<script type="text/javascript" src="/socket.io/socket.io.js"></script>
<script type="text/javascript" src="/javascripts/chat.js"></script>
</head>
<body>
<input type="text" name="message" id="message" />
<button id="btn">送信</button>
<dl id="list"></dl>
</body>
</html>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment