Hello,

I have a small Facebook game sending urlencoded strings over Socket connection:

        _socket.writeUTF(_dataVars.toString());
        _socket.flush();

It works mostly well since several years. I.e. I don't have the usual
newbie problems
with missing socket policy or sending data before Event.CONNECT was received.

However players with poor connection complain and I can reproduce their issue:

when I suspend my server for short time, then send some data by the Flash client
and then resume the server again - then the buffered data won't arrive
in 1 batch.

Instead it will work like a FIFO: when I send 1 new piece of data by
the Flash client,
_one_ old data piece of data will be delivered to the server.

I've tried calling _socket.flush() for 100 times in a loop - it
doesn't chang anything
(and I have read on the net already that the flush() doesn't do anything).

I have a feeling that Flash Player has some kind of linked list for outgoing
socket data. And whenever a writeUTF() call comes - it will write just 1 piece
of that linked list to the socket - instead of trying to write the
complete list.

I've described my problem in more detail at:
http://stackoverflow.com/questions/6051618/flash-actionscript-flushing-a-socket-does-not-send-all-data

How do you deal with this problem? Do you introduce an ID for each
piece of data at the application level and send that data again and again?
It seems so complicated to me once I start thinking about the details.

Regards
Alex
_______________________________________________
Flashcoders mailing list
Flashcoders@chattyfig.figleaf.com
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders

Reply via email to