import {ObjectUtil} from '../lang/ObjectUtil'; import {Socket} from './Socket'; //========================================================== // 网络端口。 // // @class // @author maocy // @history 15029 //========================================================== export class BufferedSocket extends Socket { //.......................................................... // @attribute protected _bufferSends: Array = new Array(); protected _bufferReceives: Array = new Array(); //========================================================== // 打开处理。 // // @method // @param event:Object 事件 //========================================================== public onOpen(event) { super.onOpen(event) // 逻辑处理 //o.process(); } //========================================================== // 错误处理。 // // @method // @param event:Object 事件 //========================================================== public ohError(event) { var o = this._linker; } //========================================================== // 消息处理。 // // @method // @param event:Object 事件 //========================================================== public ohMessage(event) { var o = this._linker; } //========================================================== // 关闭处理。 // // @method // @param event:Object 事件 //========================================================== public ohClose(event) { var o = this._linker; o._connected = false; } //========================================================== // 构造处理。 // // @author maocy // @history 141230 //========================================================== public constructor() { super(); // 设置属性 //o._bufferSends = new MO.TObjects(); //o._bufferReceives = new MO.TObjects(); } //========================================================== // 增加一个发送数据。 // // @method // @param message:String 消息 //========================================================== public push(message) { this._bufferSends.push(message); } //========================================================== // 逻辑处理。 // // @method //========================================================== public process() { var o = this; // 检查是否已经链接 if (!o._connected) { return false; } // 发送未发送数据 var sends = o._bufferSends; //if (!sends.isEmpty()) { //var count = sends.count(); //for (var i = 0; i < count; i++) { //var message = sends.at(i); //o.send(message); //} //sends.clear(); //} return true; } //========================================================== // 释放处理。 // // @method //========================================================== public dispose() { // 释放属性 this._bufferSends = ObjectUtil.dispose(this._bufferSends); this._bufferReceives = ObjectUtil.dispose(this._bufferReceives); // 父处理 super.dispose(); } }