<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array"/>
  <modified type="array">
    <modified>
      <diff>@@ -3,6 +3,7 @@ class JsSocket {
   static var id:String;
   static var buffer:String = &quot;&quot;;
   static var sizedReads:Bool = false;
+  static var packetSize:Int = -1;
   static var slash:EReg = ~/\\/g;
 
   private static function calljs(type, data:Dynamic) {
@@ -46,8 +47,26 @@ class JsSocket {
 
     socket.addEventListener(flash.events.ProgressEvent.SOCKET_DATA, function(d){
       if (sizedReads) {
-        while (socket.bytesAvailable &gt; 0)
-          calljs('onData', slash.replace(socket.readUTF(), '\\\\'));
+        while (socket.bytesAvailable &gt; 0) {
+          // figure out the packet size
+          if (packetSize &gt; -1) {
+            // we have it already
+          } else if (socket.bytesAvailable &gt;= 2) {
+            // read the packet size
+            packetSize = socket.readShort();
+          } else {
+            // lets wait
+            break;
+          }
+
+          // read the packet, if possible
+          if (socket.bytesAvailable &gt;= packetSize) {
+            calljs('onData', slash.replace(socket.readUTFBytes(packetSize), '\\\\'));
+            packetSize = -1;
+          } else {
+            break;
+          }
+        }
       } else {
         var size = socket.bytesAvailable;
         var data = new flash.utils.ByteArray();</diff>
      <filename>flash/JsSocket.hx</filename>
    </modified>
    <modified>
      <diff></diff>
      <filename>flash/jsSocket2.swf</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>72e1a45c3405978579e66cfc1d4bbf6589e794df</id>
    </parent>
  </parents>
  <author>
    <name>Aman Gupta</name>
    <email>aman@tmm1.net</email>
  </author>
  <url>http://github.com/tmm1/jssocket/commit/c0e8a8794f916cf0a08ccd09061ab2244a580945</url>
  <id>c0e8a8794f916cf0a08ccd09061ab2244a580945</id>
  <committed-date>2009-01-21T18:39:37-08:00</committed-date>
  <authored-date>2009-01-21T18:39:37-08:00</authored-date>
  <message>fixed sizedMode in jsSocket2 (socket.readUTF() throws EOFError when complete string is not available)</message>
  <tree>51b527fa8158ea49ef0f699cc68fabf8e90d41c6</tree>
  <committer>
    <name>Aman Gupta</name>
    <email>aman@tmm1.net</email>
  </committer>
</commit>
