Показать сообщение отдельно
  #1 (permalink)  
Старый 20.05.2015, 21:55
Аспирант
Отправить личное сообщение для katamason Посмотреть профиль Найти все сообщения от katamason
 
Регистрация: 18.06.2011
Сообщений: 75

Не могу запустить чат
Здравствуйте. Пытался написать что то похожее на чат, использую руководства и все что возможно, но не могу найти ошибку. Помогите найти ее, я только начал копаться в ноде, и все стало плохо(
Вышло 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');
});


Но я не могу запустить ничего толкового ((
Ответить с цитированием