2012-01-26 30 views
5

Esto es para una clase de programación que estoy tomando. Cumplo los requisitos previos, que es solo un conocimiento sólido en C++.¿Cómo debo comenzar a codificar una aplicación web de Skype?

Para aclarar: Esto no se supone que es un motor para una aplicación de escritorio. El sitio web incluye video chat, envío de archivos, chat de texto, todo en el navegador.

Así que no tengo experiencia en desarrollo web. He jugado antes con PHP y miré un libro de JavaScript y me siento cómodo usándolos. Sé lo que es MySQL y cómo configurar tablas y cosas así.

Lo que tengo que hacer en los próximos 8 semanas es:

  • conseguir el vídeo chat de trabajo (entre 2 personas)
  • tener una página de inicio de sesión, cada usuario tiene una lista de perfiles y contactos
  • el chat de texto (entre 2 personas)
  • uso compartido de archivos (entre 2 personas)

no sé qué utilizar para lograr esto. Tengo algunas ideas, pero no estoy seguro de que realmente funcionen. Se me permite usar bibliotecas, programas, códigos, etc. de fuentes abiertas para construir esta aplicación web.

Si alguien me pudiera orientar en la dirección correcta, sugiere cómo debería implementar estas características realmente apreciaría ella.

Asimismo, mientras que he estado buscando en Google y buscar la manera de hacer este tipo de cosas, vi algo que se llama CakePHP. ¿Sugerirías que use esto? Si es así, ¿qué debería usar exactamente para hacer?

+2

Probablemente deba dividir esto en preguntas separadas. Aquí hay como diez preguntas y se requiere una pequeña disertación para cubrir todo. http://stackoverflow.com/faq#dontask – mrtsherman

Respuesta

0

Creo que estos enlaces pueden ser útiles para usted:

http://www.codeproject.com/aspnet/webcamimage.asp
http://www.planet-source-code.com/vb/scripts/ShowCode.asp?txtCodeId=1339&lngWId=10

También se sugiere que utilice la conexión UDP,
y desarrollar algunos proto sencilla cabecera como
de El encabezado de ejemplo 0x01 significa que el siguiente será la estructura de mensaje
0x02 que luego será una estructura de trama (transmisión web de video) y así sucesivamente

7

¡Vas a necesitar mucho café!

Skype utiliza una arquitectura híbrida de peer-to-peer y cliente/servidor de métodos para obtener datos de alrededor. Si esto solo se ejecutará en una LAN interna, no tiene que preocuparse por el servidor en el medio y puede enfocarse en configurar solo una conexión de igual a igual.

En el mundo real, donde los ordenadores están ocultos por el router NAT algo que se llama, Skype utiliza servidores para iniciar una sesión en y configurar un puerto abierto a través de la NAT. Luego, Skype envía esta información a su otro interlocutor y desde allí se ejecuta una conexión de igual a igual.

en una red interna, sólo puede comunicarse con otros a través de un puerto UDP abierta. Skype usa esto en lugar de TCP, y se basa en gran parte de tu otra comunicación en Internet. Básicamente, no se obtiene una entrega confiable, y las aplicaciones en ambos extremos se adaptan a esto. (es decir.El vídeo se congela por un segundo cuando los paquetes se pierden o se destruyen)

   SKYPE SERVER 
       / \ 
       / \ 
      /  \ 
      /  \ 
     PEER 1 --------- PEER 2 

Después de averiguar cómo va a ejecutar a través de la red, es necesario aprender el de imágenes de Windows API, que es una forma estándar de trabajo con una cámara web para adquirir una imagen fija. ¡Tomas suficiente de estas imágenes seguidas y BINGO! Tienes una transmisión de video Hillbilly para enviar a través de la red.

Asumo MySQL va a funcionar bien con un PHP publicada servicio web SOAP para manejar la base de datos de inicio de sesión y de contacto ...

¿por qué llama esto una aplicación web? ¿Funcionará dentro de un navegador web? Es solo una aplicación de red, ¿verdad?

Un consejo más ... Programar esto en C# o en algún otro lenguaje .NET podría ser útil porque hay muchos más controles disponibles para usted. Por ejemplo, hay un control WIA que canalizará fácilmente la transmisión de video en su aplicación.

+0

Es un sitio web que copia la funcionalidad de skypes. Entonces, cuando me registre en el sitio web, podré hacer una llamada en el sitio web, como google plus hangouts –

+0

Mi próximo paso sería buscar otros proyectos de código abierto que ya lo hayan logrado ... – psyklopz

Cuestiones relacionadas