I'm not understanding something here - in the following excerpted and 
simplified example, I'm trying to send a ByteArray of length 170 and there seem 
to be 173 bytes received. Where are the "extra" bytes coming from and and is 
that the reason readObject returns null? (tracing _socketData.toString shows 
that the object properties I want to work with are in the ByteArray):

In the server app:

flash.net.registerClassAlias('foo.bar.SiteVO', SiteVO);
var siteVO:SiteVO = new SiteVO();
siteVO.property = value
...
var bytes:ByteArray = new ByteArray();
bytes.writeObject(siteVO);
_socket.writeUnsignedInt(bytes.length);
_socket.writeObject(bytes);
_socket.flush();
trace(bytes.length) // 170

In the client apps's ProgressEvent handler:

var _socketData:ByteArray = new ByteArray;
trace(_socket.bytesAvailable); // 177
while ( _socket.bytesAvailable > 0 ) {
  if (_messageLength == 0) {
    _messageLength = _socket.readUnsignedInt();
    trace(_messageLength); //177
    trace(_socket.bytesAvailable); // 173
    }
_socket.readBytes(_socketData);
if (_socketData.length < _messageLength) { // more data coming
  break;
}
flash.net.registerClassAlias('foo.bar.SiteVO', SiteVO);
var result:SiteVO = _socketData.readObject() as SiteVO;
trace(result); // null

On 2/15/12 1:39 PM, "Henrik Andersson" <he...@henke37.cjb.net> wrote:

Mattheis, Erik (MIN-WSW) skriver:
> If I have to do this without looking at functional examples, how would one 
> transmit a terminator byte or byte size while using Socket.writeObject()?

Write the object to a ByteArray, measure the size of that and send the
size of that before the contents of the ByteArray.
_______________________________________________
Flashcoders mailing list
Flashcoders@chattyfig.figleaf.com
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders



_ _ _
Erik Mattheis | Weber Shandwick
P: (952) 346.6610
M: (612) 377.2272
_______________________________________________
Flashcoders mailing list
Flashcoders@chattyfig.figleaf.com
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders

Reply via email to