【问题标题】:How to detect when the socket is opened on client?如何检测客户端何时打开套接字?
【发布时间】:2016-08-06 13:43:50
【问题描述】:

在客户端浏览器端使用socket.io 时,如何检测套接字实际打开的时间?连同所有其他基本默认消息(例如错误和断开连接)

我指的是默认的 WebSocket API 如何具有 websocket.onopen = function(){}.onerror.onclose

使用socket.on("connect", function(){some code here})socket.on("connection") 没有任何作用。

【问题讨论】:

  • socket.io 上有一个例子展示了如何做到这一点,你试过了吗?
  • @user3 是的,没有一个示例涵盖如何在客户端/浏览器端执行此操作。
  • 有文档描述了一个名为“connection_error”的事件,“disconnect”没有解释。

标签: javascript node.js websocket socket.io


【解决方案1】:

好的,所以在我尝试之前

socket.on("connect", function(){
    alert("socket open test")
})

它没有用,但现在我又试了一次,不知何故它成功了,很抱歉造成混乱和浪费时间。

【讨论】:

    【解决方案2】:

    你可以看看: Docs of SocketIO

    因为这是一个如此简单的问题,我在下面添加消息。

    找到解决方案并不难,只需搜索即可找到所需的内容。 (懒惰)并在诸如stackoverflow之类的平台上为所有您的编程信息提出问题是错误的。寻找文档和示例总是更好。因为当你自己查找或发现它时,你会学到更多。

    当然,当你真的陷入困境并且无法继续前进时,你可以提出问题,而且你肯定知道否则需要很长时间。

    如果你想要简单的方法,这里就是解决方案:

    http://socket.io/docs/#sending-and-receiving-events http://socket.io/docs/client-api/

    使用“断开连接”,当断开连接事件在您不期望的时间触发时,它显然是连接断开。

    var app = require('express')();
    var http = require('http').Server(app);
    var io = require('socket.io')(http);
    
    app.get('/', function(req, res){
      res.sendfile('index.html');
    });
    
    io.on('connection', function(socket){
      console.log('a user connected');
    });
    

    【讨论】:

    猜你喜欢
    • 2013-12-10
    • 1970-01-01
    • 2018-09-25
    • 2011-04-29
    • 1970-01-01
    • 2010-11-15
    • 2011-01-27
    • 2015-11-14
    • 1970-01-01
    相关资源
    最近更新 更多