无法关闭连接

时间:2017-03-23 16:53:28

标签: javascript jquery autobahn

所以,我不确定这是否是正确的方法,但在Autobahn的作者决定关闭AWS Hot Link(完全可以理解)之前,这是正常的。

因此,我正在处理的网站基本上允许用户选择内部参考,并就此进行对话(他们需要交换文档等)。

每当他们点击引用时,他们就会订阅服务器,以便他们可以从其他用户接收实时更新,但是如果他们更改为不同的引用,则需要关闭第一个订阅,然后打开新的一个。

这是今天早上没有工作的JavaScript代码(AWS关闭后):

if (typeof conn == 'undefined') {
      console.log("Conn is undefined...");
    } else {
      conn.close(); // Cerramos la conexión que ya existía, para evitar duplicar conexiones.
    }

    //conn = new ab.Session('wss://plt.prolog-mex.com/wss2/',
    conn = new autobahn.Session('wss://plt.prolog-mex.com/wss2/',

        function() {
            conn.subscribe(idReferencia, function(topic, data) {
                boardUser = $('#messageBoard').attr('usuario');
                if (boardUser == data.idUsuario) {
                  clase = 'message-own';
                } else {
                  clase = 'message-nonown';
                }

                $('#messageBoard').prepend('<p class="'+ clase +'"><span><b>'+data.usuario+' | '+data.when+'</b></span><br>'+data.article+'</p>')

            });
        },
        function() {
            console.warn('WebSocket connection closed');
        },
        {'skipSubprotocolCheck': true}
    );

我认为我从GitHub获得的版本与他们在AWS上的版本不同,但这只是一个假设。

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

确实我使用的是旧版本。我现在才意识到这一点。 Ratchet已停止开发库,并使用WAMPv1协议。自2014年以来,来自高速公路JS的人们实际上已停止支持它了 - 主要问题是Legacy版本与他们几天前拿出的水桶一起消失了(最老的你可以得到版本0.9,我是0.8)

2年前,sergeyvolkov决定将文件上传到GitHub(https://github.com/sergeyvolkov/autobahn-old),我可以从那里获得0.8版本,让我的网站重新启动并运行。

有网站以防其他任何人的网站也被破坏,但是如果你用高速公路替换Ratchet更好,那么你可以使用更新版本的WAMP和Autobahn。