【问题标题】:How to disconnect the user by emitting disconnect event in socket.io如何通过在 socket.io 中发出断开事件来断开用户的连接
【发布时间】:2018-05-19 04:15:38
【问题描述】:

下面是我的服务器脚本。我想通过单击发出“断开连接”事件的leave 按钮index.html 来显示“特定用户已离开聊天”。但这似乎不起作用。我想这意味着无法发出默认事件。请帮我这样做。任何形式的帮助表示赞赏。

socket.js

var app = require('express')();
var http = require('http').Server(app);
var io = require('socket.io')(http);

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

io.on('connection',function(socket)
{
  //console.log("user connected")
  socket.on('new user', function(data) {
    console.log(data);})
    socket.on('disconnect', function(data) {
        console.log(data);

})

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

index.html

<!DOCTYPE   html>
<html>
<head>

</head>
<body>
  <style>

  </style>
    <script src="http://code.jquery.com/jquery-latest.min.js"></script>
    <script src="/socket.io/socket.io.js"></script>


<script>
  var socket = io.connect();
 //
 $(function(){

  $('#join').click(function(){
    var name= $('input').val(); 
    socket.emit('new user', name +  ' has just joined the chat');     
  })

  $('#leave').click(function(){
    var name= $('input').val(); 
    socket.emit('disconnect', name +  ' has left the chat');     
  })



 })

</script>


 Choose your username <input type="text">
      <button id="join" type="submit">
      Enter
      </button>
      <button id="leave" type="submit">
          Leave
      </button>

</body>

【问题讨论】:

    标签: node.js socket.io


    【解决方案1】:

    试试这个

    var app = require('express')();
    var http = require('http').Server(app);
    var io = require('socket.io')(http);
    
    app.get('/', function(req, res){
     res.sendFile(__dirname + '/index.html');
    });
    
    io.on('connection', function(socket){
    
      socket.on('new user', function(data) {
        console.log(data)
      })
    
      socket.on('disconnect', function(data) {
        console.log(data)
      })
    
      http.listen(3000, function(){
        console.log('listening on *:3000');
      })
    }
    

    【讨论】:

    • 对不起,我没有正确阅读问题,我编辑了它再试一次:)
    猜你喜欢
    • 2019-05-01
    • 2011-11-03
    • 2014-01-08
    • 2013-08-01
    • 2017-07-17
    • 2019-08-04
    • 1970-01-01
    • 2018-02-09
    • 1970-01-01
    相关资源
    最近更新 更多