Здравствуйте. Пытался написать что то похожее на чат, использую руководства и все что возможно, но не могу найти ошибку. Помогите найти ее, я только начал копаться в ноде, и все стало плохо(
Вышло 2 файла chat.html
<html>
<head>
<script src="https://cdn.socket.io/socket.io-1.2.0.js"></script>
<script src="//code.jquery.com/jquery-1.11.3.min.js"></script>
<style>
#chatWrap {
float:left;
border:1px solid green;
}
#contentWrap {
display:none;
}
</style>
<script type="text/javascript">
$(document).ready(function() {
var chat = $('#chat');
var messageForm = $('#send-message');
var messageBox = $('#message');
var nickForm = $('#setNick');
var nickError = $('#nickError');
var nickBox = $('#nickname');
var users = $('#users');
var socket = io.connect();
nickForm.submit(function(e) {
socket.emit('new user',nickBox.val(),function(data) {
if(data) {
$('#nickWrap').hide();
$('#contentWrap').show();
} else {
nickError.html('This user name is taken')
}
} );
nickBox.val('');
});
messageForm.submit(function(){
socket.emit('send message', messageBox.val());
messageBox.val('');
return false;
});
socket.on('new message', function(data){
chat.append($('<li>').text(data));
});
socket.on('usernames',function(data) {
html = '';
for (i=0;i<data.length; i++) {
html += data[i] + '<br>';
}
users.html(html +'<br>');
});
} )
</script>
</head>
<body>
<div class="nickWrap">
<p>Enter user name</p>
<p id="nickError"></p>
<form id="setNick">
<input id="nickname" value="" >
<button>Send</button>
</form>
</div>
<!--
nickWrap end
-->
<div id="contentWrap">
<div id="chatWrap">
<ul id="chat"></ul>
<form action="" id="send-message">
<input id="message" size="35" value="" >
<button>Send</button>
</form>
</div>
<div id="users"></div>
</div>
<!--
contentWrap end
-->
</body>
</html>
и мой app.js
var app = require('express')();
var http = require('http').Server(app);
var io = require('socket.io')(http);
var nicknames = [];
app.get('/', function(req, res){
res.sendFile(__dirname+'/chat.html');
});
io.on('connection', function(socket){
socket.on('send message', function(msg){
io.sockets.emit('new message',msg);
console.log('message: ' + msg);
});
});
io.on('new user',function(data, callback) {
if(nicknames.indexOf(data) != -1) {
callback(false);
} else {
callback(true);
socket.nickname = data;
nicknames.push(socket.nickname);
io.sockets.emit('usernames',nicknames)
}
});
http.listen(3000, function(){
console.log('listening on *:3000');
});
Но я не могу запустить ничего толкового ((