Actionscript 3 使用闪存将bytearray流式传输到服务器

Actionscript 3 使用闪存将bytearray流式传输到服务器,actionscript-3,flash,Actionscript 3,Flash,我可以使用以下代码轻松地将bytearray发送到服务器: var req:URLRequest = new URLRequest(_var1); req.contentType = 'application/octet-stream'; req.method = URLRequestMethod.POST; req.data = DATAS; var loader:URLLoader = new URLLoader(req); 在这个数据中,数据是一个bytearray,它已经准备好了

我可以使用以下代码轻松地将bytearray发送到服务器:

var req:URLRequest = new URLRequest(_var1);
req.contentType = 'application/octet-stream';
req.method = URLRequestMethod.POST;
req.data = DATAS;   
var loader:URLLoader = new URLLoader(req);
在这个数据中,数据是一个bytearray,它已经准备好了,但我想发送实时生成的byterray,实际上没有长度


我想通过阵列进行流式传输,我如何才能做到这一点?

您需要套接字连接:

    var socket:Socket = new Socket();
    socket.connect(host, port);
    socket.addEventListener(Event.CONNECT, function(event:Event):void
    {
        socket.writeBytes(DATAS);
    });
注释测试代码的UPD:

    var _buffer:ByteArray = new ByteArray();
    _buffer.writeByte(0xFF);
    trace("_buffer=",ByteArrayUtil.getHexBytesString(_buffer));

    var ou:ByteArray = new ByteArray();
    ou.writeBytes(_buffer , 0 ,_buffer.length);
    _buffer.clear();        

    trace("ou=\t", ByteArrayUtil.getHexBytesString(ou));
    trace("_buffer=", ByteArrayUtil.getHexBytesString(_buffer));


public static function getHexBytesString(array:ByteArray, colons:Boolean=false, position:int = 0, len:int = 0):String {
    var s:String = "";
    if(!array)
        return s;

    if(len)
    {
        len += position;
        len = Math.min(len, array.length);
    }
    else
        len = array.length;

    for (var i:int=position;i<len;i++) {
        s+=("0"+array[i].toString(16)).substr(-2,2).toUpperCase();
        if (colons && i<len-1) s+= "-";
    }
    return s;
}

@fsbmin:我还想将一些字节数组复制到另一个字节数组,并清除第一个字节数组,但意外的结果是,当我清除bytearray one时,bytearray 2将变为空,您知道问题出在哪里吗?::var ou:ByteArray=new ByteArray();ou.writeBytes(_buffer,0,_buffer.length)_buffer.position=0_buffer.clear();我对你的代码没有这个问题,ou字节数组没有被清除。可能是缓冲区从一开始就是空的。我用测试更新了我的答案。是的,是的,问题来自我,非常感谢,你对flash有很好的了解,谢谢
_buffer= FF
ou=  FF
_buffer=