Transferencia de archivos desde el navegador al iPhone conectado localmente

En este momento, he creado un servidor HTTP en la aplicación Mi iPhone y he alojado HTML allí. Luego, acceda a él en el navegador del sistema que se encuentra en la misma red de iPhone. Puedo ver el archivo en mi navegador.

Ahora usando WebSockets, estoy tratando de enviar archivos desde el navegador a la aplicación,Pero no está funcionando. Está bien con el mensaje de texto pero no en el caso de los datos. Como solución alternativa, lo probé a través de la cadena Base64, pero en ese caso también el socket Get Closed.

Para cargar usando JAVAScript, he escrito este código, aquí intenté enviando una cadena Base64 en fragmentos de 200 caracteres.

    function sendFile() {
        var preview = document.querySelector('img');
        var file = document.querySelector('input[type=file]').files[0];
        var reader  = new FileReader();
        var rawData =  new ArrayBuffer();


        reader.onloadend = function () {
        var stringContent = reader.result;
        preview.src = stringContent;
        var array =  stringContent.match(/.{1,200}/g);
        for (var i = 0; i < array.length; i++) {
            ws.send(array[i]);
        };

      }
     if (file) {
        reader.readAsDataURL(file);
     }else {
        preview.src = "";
     }
}

En el lado del iPhone, he usadoWebSocket Clase de LibaryCacaoHTTPServer

Zócalo cerrado en esta línea.

EDITAR

Después de muchas pruebas y errores, llego a saber que esto está sucediendo si estoy abriendo esto en el navegador de Mac, no en el caso de cualquier navegador de otros dispositivos como iPad, iPhone. Este es un caso de uso muy extraño, pero es cierto.

EDITAR II

Después de muchas preguntas, encontré una pista para esto, esto funcionaba bien para los navegadores iPhone, iPad, iPod y Opera, porque tienen soporte antiguo de websocket, encontré esto enaquí..

En esta pregunta, el tipo tiene el caso inverso, está tratando de cerrar la conexión en estos navegadores, en mi caso se está cerrando en otros navegadores como Chrome, Mozilla, etc. Es porque algo llamóPaquetes formateados Hybi. Esto podría ayudar a alguien a sugerir la solución para mi caso.

Respuestas a la pregunta(2)

Su respuesta a la pregunta