繁体   English   中英

使用node.js和socket.io的私人聊天

[英]Private chat using node.js and socket.io

我正在尝试使用node.js和socket.io在密钥之间创建私人聊天,问题是当我发出消息时,该消息未显示在房间中,并且我不知道这是什么问题...

服务器

 var app = require('express')();
    var express = require('express');
    var http = require('http').Server(app);
    var io = require('socket.io')(http);
    app.use(express.static('./public'));


    app.get('/', function(req, res){
      res.sendFile(__dirname + '/index.html');
    });


    io.sockets.on('connection', function(socket){
        console.log("step 0 OK");                  // Works
     socket.on('room', function (room) {
        console.log("step 1 OK");                  // Works
            socket.join(room); 
      });
    });

    room = "1234";
//THIS CODE NOT WORKING
    io.sockets.in(room).emit('message', 'what is going on, party people?'); 


    http.listen(3000, function(){
      console.log('listening on *:3000');
    });

客户

 $(document).ready(function() {

        var socket = io('http://localhost:3000');

        $("#triggerBtn").on("click", function(e) {
            e.preventDefault();

            socket.emit('room', '1234');
            return false;
        });


        socket.on('message', function(data) {
            console.log("Step 2 OK");               //THIS CODE IS NOT EXECUTED
        });




    });

HTML

<html>

<head>

    <title>Bootstrap Case</title>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
    <script src="https://cdn.socket.io/socket.io-1.2.0.js"></script>
    <script src="http://code.jquery.com/jquery-1.11.1.js"></script>

</head>

<body>

    <div class="container-fluid">
        <li><a href="#"><button type="button" class="btn btn-default" id="triggerBtn">Enviar</button></a></li>
    </div>

    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
    <script src="./bootstrapPage.js"></script>

</body>

</html>

没有连接就无法发出套接字。 移动:

io.sockets.in(room).emit('message', 'what is going on, party people?'); 

内:

io.sockets.on('connection', function(socket){ ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM