简单的node.js聊天服务器问题

时间:2015-01-13 12:23:12

标签: html node.js chat server

我遇到了node.js服务器和HTML客户端的问题。

服务器代码是:

var http = require('http');
    fs = require('fs');

var app = http.createServer(function(request, response) {
    fs.readFile("client.html", 'utf-8', function (error, data) {
        response.writeHead(200, {'Content-Type': 'text/html'});
        response.write(data);
        response.end();
    }); 
}).listen(1337);

var io = require('socket.io').listen(app);

io.sockets.on('connection', function(socket)    {
    socket.on('message_to_server', function(data)   {
        io.sockets.emit("message_to_client",{ message: data["message"]});
    });
});
console.log('Server running')

客户端代码是:

<!DOCTYPE html>
<html>
<head>
    <title>Rumors and speculations</title>
    <script src="/socket.io/socket.io.js"></script>
    <script type="text/javascript">
        var socketio = io.connect("localhost", {port: 1337});

        socketio.on("message_to_client", function (data) {
            document.getElementById("chatlog").innerHTML = ("<hr/>" +
            data['message'] + document.getElementById("chatlog").innerHTML);
        });
        function sendMessage() {
            var msg = document.getElementById("message_input").value;
            socketio.emit("message_to_server", { message: msg });
        }
    </script>
</head>
<body>
    <input type="text" id="message_input" />
    <button onclick="sendMessage()">send</button>
    <div id="chatlog"></div>
</body>
</html>

我不知道它是否有所作为,但我从Visual Studio运行我的HTML(构建一个ASP.NET MVC应用程序)。

我在屏幕上输入了聊天按钮和窗口,但是当我添加一些文本并点击“发送”时,没有任何反应,也没有显示任何内容。 我错过了什么吗?我几乎敢打赌,我错过了关于服务器地址的一些内容,但我已经瞎了眼,无法找到它。

1 个答案:

答案 0 :(得分:1)

在您的客户端代码中: 数据[&#39; message&#39;] + document.getElementById(&#34; chatlog&#34;)。 innterHTML 拼写错误。应该说 .innerHTML