2012-01-26 13 views
5

To jest dla klasy programistycznej, którą biorę. Pasuję do warunków wstępnych, co jest po prostu mocną wiedzą w C++.Jak rozpocząć kodowanie aplikacji internetowej podobnej do Skype?

Wyjaśnienie: To nie jest backend dla aplikacji komputerowej. Witryna prowadzi czat wideo, wysyłanie plików, czat tekstowy, wszystko w przeglądarce.

Więc nie mam żadnego doświadczenia z programowaniem stron internetowych. Grałem wcześniej z PHP i patrzyłem na książkę JavaScript i czuję się komfortowo z ich używania. Wiem, czym jest MySQL i jak skonfigurować tabele i inne.

Co muszę zrobić w ciągu najbliższych 8 tygodni jest:

  • Get video chat pracy (między 2 osób)
  • mieć stronę logowania, każdy użytkownik ma listę profil i kontaktów
  • czat tekstowy (między 2 osób)
  • Udostępnianie plików (między 2 osób)

nie wiem co użyć, aby osiągnąć ten cel. Mam kilka pomysłów, ale nie jestem pewien, czy naprawdę by działały. Mam prawo do korzystania z otwartych bibliotek, programów, kodu itp. W celu zbudowania tej aplikacji internetowej.

Jeśli ktoś może skierować mnie we właściwym kierunku, zasugeruję, w jaki sposób powinienem wdrożyć te funkcje, naprawdę bym to docenił.

Również podczas szukania w Google i sprawdzania, jak robić takie rzeczy, zobaczyłem coś o nazwie CakePHP. Czy sugerowałbyś, żebym tego użył? Jeśli tak, co dokładnie powinienem zrobić?

+2

Powinieneś prawdopodobnie podzielić to na osobne pytania. Jest tu dziesięć pytań i mała rozprawa wymagana do omówienia wszystkiego. http://stackoverflow.com/faq#dontask – mrtsherman

Odpowiedz

7

Będziesz potrzebował dużo kawy!

Skype wykorzystuje hybrydową architekturę peer-to-peer i metody klient/serwer do gromadzenia danych. Jeśli będzie to działać tylko w wewnętrznej sieci LAN, nie musisz martwić się o serwer w środku i możesz skupić się na konfiguracji połączenia peer-to-peer.

W świecie rzeczywistym, gdzie komputery są ukryte przez router za pomocą czegoś zwanego NAT, Skype korzysta z serwerów, aby zalogować się i ustawić otwarty port przez NAT. Następnie Skype wysyła te informacje do twojego drugiego peera, a połączenie peer-to-peer jest uruchamiane z tego miejsca.

W sieci wewnętrznej można po prostu komunikować się z innymi za pośrednictwem otwartego portu UDP. Skype używa tego w przeciwieństwie do TCP, na którym opiera się większość twoich innych połączeń w Internecie. Zasadniczo nie otrzymujesz niezawodnej dostawy, a aplikacje na obu końcach dostosowują się do tego. (to znaczy.Twój film zawiesza się na chwilę, gdy pakiety zgubić lub zniszczyć)

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

Po dowiedzieć się, jak będzie przebiegać przez sieć, trzeba nauczyć się Windows Image Acquisition API, które jest standardowym sposobem pracy z kamerą internetową w celu uzyskania nieruchomego obrazu. Wystarczy wziąć te zdjęcia z rzędu i BINGO! Masz strumień wideo z hillbilly, aby wysłać przez sieć.

zakładam MySQL będzie działać dobrze z PHP opublikowany SOAP usługa do obsługi login i bazę kontaktów ...

Dlaczego dzwonisz to aplikacja internetowa? Czy uruchomi się w przeglądarce internetowej? To tylko aplikacja sieciowa, prawda?

Jeszcze jedna porada ... Programowanie w języku C# lub innym języku .NET może być pomocne, ponieważ dostępnych jest znacznie więcej elementów sterujących. Na przykład istnieje kontrola WIA, która z łatwością przesyła strumień wideo do twojej aplikacji.

+0

Jest to strona internetowa, która kopiuje funkcje skypes. Kiedy więc zaloguję się na stronie, powinienem być w stanie zadzwonić na stronę internetową, na przykład Google + Hangouts. –

+0

Moim następnym krokiem byłoby przyjrzenie się innym projektom open source, które już to wykonują ... – psyklopz

Powiązane problemy