Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sockets Emberjs CLI web套接字_Sockets_Ember.js_Command Line Interface - Fatal编程技术网

Sockets Emberjs CLI web套接字

Sockets Emberjs CLI web套接字,sockets,ember.js,command-line-interface,Sockets,Ember.js,Command Line Interface,我正在尝试创建一个web套接字,以便在我使用cli创建的EmberJS应用程序中使用。我有点不确定什么是逻辑,所以如果我做得不对,请告诉我 我有一个适配器,它应该创建一个连接,然后处理向我所连接的服务器发出的任何请求。我不确定如何在控制器中引用此套接字 export default DS.Adapter.extend({ url: '<my connection bruh>', qSocket: null, deferred: $.Deferred(),

我正在尝试创建一个web套接字,以便在我使用cli创建的EmberJS应用程序中使用。我有点不确定什么是逻辑,所以如果我做得不对,请告诉我

我有一个适配器,它应该创建一个连接,然后处理向我所连接的服务器发出的任何请求。我不确定如何在控制器中引用此套接字

export default DS.Adapter.extend({
    url: '<my connection bruh>',
    qSocket: null,  
    deferred: $.Deferred(),
    defResolve: function(res){
        this.deferred.resolve(res);
    },
    init: function(uri){
        var qsservice = this;
        if(arguments.length==1&&uri.length>4){
            this.url=uri;
        }
        this.qSocket = new WebSocket(this.url);
        this.qSocket.onopen = function(evt){console.log('CONNECTED');};
        this.qSocket.onclose = function(evt){console.log('DISCONNECTED');};
        this.qSocket.onmessage = function(evt){console.log('RESPONSE: '+evt.data);
            qsservice.deferred.resolve(evt.data);};
        this.qSocket.onerror = function(evt){console.log('ERROR');
            qsservice.deferred.reject(evt);};
    },
    sendMessage: function (msg) {
        return this.qSocket.send(msg);
    },
    disconnect: function(){
        this.qSocket.close();
    },
    isConnected: function(){
        return this.qSocket ? true : false;
    },
    getDocList: function(){ 
        this.qSocket.send(JSON.stringify(GetDocList));
        return this.deferred.promise();
    }
});

我如何从索引控制器调用这些函数?

适配器在Ember数据中无法从外部访问。从这个角度看,它看起来根本没有集成到余烬数据中,您使用余烬数据有什么原因吗?不,不是真的。我刚开始使用余烬,并没有真正考虑使用余烬数据。这就是我将数据放入网页的答案吗?您不需要使用余烬数据,您在这里使用它:DS.Adapter.extend。仔细阅读:好的,谢谢。我正在使用ember cli,您是否知道我将如何在控制器中引用我的适配器?我尝试了文件名和附加了适配器的文件名。