Created
March 20, 2013 17:38
-
-
Save devpilot/5206712 to your computer and use it in GitHub Desktop.
Node.js and socket.io example
Simple real time chat app with node.js and socket io
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<html> | |
<head> | |
<title>Socket Chat</title> | |
<style type="text/css"> | |
#input { | |
width: 200px; | |
} | |
#messages { | |
position: fixed; | |
top: 40px; | |
bottom: 8px; | |
left: 8px; | |
right: 8px; | |
border: 1px solid #EEEEEE; | |
padding: 8px; | |
} | |
</style> | |
<script src="http://localhost:4000/socket.io/socket.io.js"></script> | |
</head> | |
<body> | |
Your message: | |
<input type="text" id="input"> | |
<div id="messages"></div> | |
</body> | |
<script type="text/javascript"> | |
var messagesElement = document.getElementById('messages'); | |
var lastMessageElement = null; | |
function addMessage(message) { | |
var newMessageElement = document.createElement('div'); | |
var newMessageText = document.createTextNode(message); | |
newMessageElement.appendChild(newMessageText); | |
messagesElement.insertBefore(newMessageElement,lastMessageElement); | |
lastMessageElement = newMessageElement; | |
} | |
var socket = io.connect('http://localhost:4000'); | |
socket.on('serverMessage', function(content) { | |
addMessage(content); | |
}); | |
var inputElement = document.getElementById('input'); | |
inputElement.onkeydown = function(keyboardEvent) { | |
if (keyboardEvent.keyCode === 13) { | |
socket.emit('clientMessage', inputElement.value); | |
inputElement.value = ''; | |
return false; | |
} else { | |
return true; | |
} | |
}; | |
</script> | |
</html> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
var io = require('socket.io').listen(4000); | |
io.sockets.on('connection', function (socket) { | |
socket.on('clientMessage', function(content) { | |
socket.emit('serverMessage','You: '+ content); | |
socket.broadcast.emit('serverMessage',/*socket.id + */' Stranger: '+ content); | |
}); | |
}); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment