que profesional papel holograma hacer grande como javascript html html5 websocket bittorrent

javascript - papel - como hacer un holograma profesional



¿Es posible construir un cliente de torrent usando solo HTML(5) y JavaScript? (7)

Esto es posible mediante las API de aplicaciones de Chrome : chrome.socket y chrome.fileSystem .

Hay al menos una implementación de JavaScript puro para Google Chrome: JSTorrent .

No hay mucho más que añadir. ¿Es posible construir un cliente de torrent usando solo HTML y JavaScript? No puede usar elementos como Java, ActiveX, NaCl ... Si es así, proporcione una descripción de alto nivel.

No tengo mucho conocimiento acerca de los desarrolladores front-end, pero creo que websockets podrá hacer la red (¿es posible conectar un cliente a otro sin que todos los datos pasen por un servidor?). Sé que no se pueden escribir archivos con JavaScript, por lo que creo que el archivo que se está descargando tendrá que guardarse completamente en la memoria, o el cliente tendrá que usar una de las nuevas API en HTML5 para almacenar contenido.



Llego tarde a la fiesta, pero como esta pregunta aún está entre los mejores resultados de Google, responderé de todos modos.

Puede escribir aplicaciones web relacionadas con BitTorrent o extensiones de navegador con Btapp.js , que usa una interfaz de Javascript proporcionada por BitTorrent Torque . Cuando llame al método de conexión, se le pedirá al usuario que instale BitTorrent Torque, eso es todo. Algunas cosas interesantes están sucediendo si revisa los proyectos existentes que lo utilizan: transmisión de medios, compartir con arrastrar y soltar, etc.

En cuanto a las soluciones sin ninguna dependencia, las mencionadas por Nick Russler todavía parecen ser las únicas opciones posibles.


No hay una buena razón para que esto no se pueda hacer hoy. BitTorrent / uTorrent tienen código para soportar conexiones websocket con marcos binarios. Sin embargo, actualmente están compilados sin soporte (por razones políticas / de producto, creo). Solía ​​trabajar en BitTorrent y otro ingeniero ( Arty ) escribió el soporte. Por un tiempo fue realmente genial poder descargar torrents en iPads desde dispositivos móviles Safari. (Guardar directamente en Google Drive lo suficientemente divertido)

Los rastreadores de HTTP podrían configurarse para enviar encabezados de control de acceso / permiso.

También el protocolo de anuncio del rastreador podría usar un poco en el campo "clave" para indicar que el cliente acepta conexiones de websocket. Luego, un argumento especial como "typewant" podría indicar que la respuesta del anuncio solo debería devolver a los clientes que hayan enviado ese bit.

El protocolo del rastreador también podría extenderse de manera similar para admitir la negociación de las conexiones WebRTC P2P DataChannel, de modo que las conexiones se puedan realizar directamente con el navegador <->.

Por ahora, tenemos la API de la plataforma chrome.socket, y jstorrent , una aplicación empaquetada de chrome (diseñada principalmente para ChromeOS)


No puedes con WebSockets porque son estrictamente cliente-servidor. Pero el próximo estándar WebRTC, aunque está dirigido principalmente a conferencias de audio / video, tiene una provision para transferencias genéricas de datos cliente-cliente. Si esta disposición llega a la versión final, entonces tendrá una forma viable de implementar transferencias genéricas de datos de igual a igual entre navegadores.



No, no es.

Esto se debe a que la especificación de WebSocket está fuera de HTML5 y JavaScript ;-) Dicho esto, abriendo la pregunta a "usar características admitidas de forma nativa en los navegadores [progresivos / próximos]", entonces ...

... todavía no :-)

Esto se debe a que WebSocket requiere un protocolo de enlace especial para configurar con restricciones. No es un festival abierto de TCP para todos. El enfoque requeriría ya sea

  1. los clientes que se modificarán para aceptar solicitudes de WebSocket (además de resolver cualquier problema de acceso entre sitios)

  2. o, más realista, un servidor para rebotar a través de