小编Wal*_*ons的帖子

具有不同回调处理程序的Singleton Websockets对象

我有一个JavaScript Websockets实现,我想使用一个单例模型,它使用一个Websocket连接来多次调用服务器但具有不同的回调事件处理程序.我的实现工作得很好但是已经注意到一些奇怪的行为,消息被定向到错误的回调处理程序.这是一些代码:

Connection.js文件

var connection = function(){
    var _socket = null;
    return {
        socket : function(){
            if (_socket == null){
                _socket = new WebSocket("ws://localhost:8081/index.ashx");
                _socket.onclose = function(evt){alert('Closed');}
                _socket.extraParameter = null;
            }
            return _socket;
        },
        send : function(data, callback){
            var localSocket = connection.socket();
            localSocket.extraParameter = new Date().toString();
            localSocket.onmessage = callback;
            localSocket.originalDataSent = data;
            localSocket.send(data);
        }
    }
}();
Run Code Online (Sandbox Code Playgroud)

App.js文件

var App = function(){
    return {
        cpuUtilization : function(evt){
            var localSocket = this;
            var dateTimeOfRequest = localSocket.extraParameter;
            var originalDataSent = localSocket.originalDataSent
            var jsonData …
Run Code Online (Sandbox Code Playgroud)

javascript websocket

8
推荐指数
1
解决办法
5371
查看次数

标签 统计

javascript ×1

websocket ×1