Bladeren bron

fixed : packet length in bytes.

Nicolas Cannasse 19 jaren geleden
bovenliggende
commit
9d3ffb359c
1 gewijzigde bestanden met toevoegingen van 17 en 0 verwijderingen
  1. 17 0
      std/haxe/remoting/SocketConnection.hx

+ 17 - 0
std/haxe/remoting/SocketConnection.hx

@@ -103,6 +103,23 @@ class SocketConnection extends AsyncConnection {
 
 	static function sendMessage( __data : Dynamic, msg : String ) {
 		var len = msg.length + 3;
+		#if neko
+		#else true
+		for( i in 0...msg.length ) {
+			var c = msg.charCodeAt(i);
+			if( c < 0x7F )
+				continue;
+			if( c < 0x7FF ) {
+				len++;
+				continue;
+			}
+			if( c < 0xFFFF ) {
+				len += 2;
+				continue;
+			}
+			len += 3;
+		}
+		#end
 		var c1 = encodeChar(len>>6);
 		if( c1 == null )
 			throw "Message is too big";