0

我对 JavaScript 和随后的 Node + Express.IO 比较陌生。我正在尝试构建一个页面,该页面将实时跟踪不同“用户”与服务器的连接。因此,当我确实包含 io 模块中的所有功能时,我的 prompt() 和 alert 不再起作用。我正在nodemon app.js从我的终端运行,并且这样做时没有出现编译错误。当我删除所有 io 功能时,警报和提示再次起作用。

这些是我的 index.ejs<body>标签的内容:

<body>
<h1>Chatroom</h1>
<script>
    alert("Hello!");
    var name = prompt("What is your name?");
    io.connect();
    io.emit.('got_a_new_user', {name: name});  
    io.on('new_user', function(data) {
    //render this new info in the HTML
         var users = data.users;
         console.log(users);
             if (users != undefined) {
                console.log("\n\n\n" + users);
             // if users is defined, append the new division containing the username
         }
    });
    io.on('disconnect_user', function(data) {
    var users = data.users;
             if (users != undefined) {
                 // If users is defined remove the corresponding HTML element
             }       
    });
</script>
<div id="container">
</div>
</body>

任何帮助将非常感激。

4

1 回答 1

0

为 UKatz 添加的评论添加示例,

您必须socket.io按如下方式从客户端连接,

索引.ejs

<script src="http://ip:port/socket.io/socket.io.js"></script>

<script type="text/javascript">
     var socket = io.connect('http://ip:port');
     socket.emit('got_a_new_user', {name: name});  
</script>

查看socket.io文档以了解如何将 socket.io 与客户端连接。

于 2014-05-12T11:34:15.813 回答