2010-11-07 3 views
5

voglio sapere come posso fare qualcosa come skype o yahoo messenger?per sviluppare un messenger su Internet cosa dovrei fare?

ho citato yahoo o skype perché voglio davvero che il messenger gestisca molti utenti online.

Sono uno sviluppatore Java, ma non ho alcuna idea per questo tipo di progetti o per VOIP e networking?

posso sviluppare qualcosa come un messenger solo con java? e quali altre tecnologie, strutture o qualcos'altro ho bisogno per gestire questo progetto? alla fine, posso svilupparlo da solo ?! o ho bisogno di una squadra per iniziare?!

+3

è per divertimento? se no - abbandonalo, davvero. ci sono tonnellate di IM compresi quelli opensource. – Andrey

risposta

6

Immagino che quello che ti serve di più sia la conoscenza della programmazione di rete . Questo è il primo passo verso il tuo obiettivo: imparerai come comunicare tra due host e tra diversi in modo ragionato (alcuni link per la programmazione java net here, here e a book here). Focalizza la tua attenzione sui protocolli (quelli di basso livello) (e forse sulla crittografia) e cerca di individuare quello giusto per le tue esigenze. Dovrai capire anche se vuoi scrivere il tuo protocollo IM (di alto livello) o usare uno di quelli esistenti (Jabber, MSN, Yahoo, obiettivo, ecc.)

In secondo luogo, potresti dare un'occhiata a un progetto open source che tenta di implementare qualcosa di simile per capire meglio come strutturare l'architettura del progetto, le comunicazioni client e così via. Puoi iniziare a guardare qualche lib (here è uno per java e Jabber, here per Yahoo) anche nel web.

Finalmente puoi iniziare a progettare il tuo progetto e decidere se il lavoro da svolgere è più di quanto una singola persona possa sopportare in un tempo ragionevole e cercare di convincere le persone a lavorare con te. Oppure potresti anche unirti a un progetto open source se ne trovi uno.

0

Probabilmente vorresti fare delle ricerche sul socket. Un sacco di applicazioni socket fatte da java btw. Per la semplice applicazione di chat lo è. Tuttavia, la chat video o VOIP richiede molto più impegno.

0

Esplora java.net Imparare la programmazione del socket, non è così complicato. Informazioni sulla gestione di più client, il server dovrebbe avere più thread. Uno per ogni cliente.

Lo sviluppo di una semplice chat di messaggistica non è un'offerta in java. Si può fare questo da solo. Probabilmente, puoi persino gestire più client con multi-threading.

3

Perché reinventare la ruota. Sono disponibili molti software open source in JAVA che supporta IM, chat multiple, presenza e chiamate vocali e video.

Skype è basato su SIP + la propria tecnologia proprietaria. Quindi Skype funziona solo con skype. Dimentica l'interoperabilità

Gtalk utilizza XMPP (www.xmpp.org) per le sue chat, ma usa libjingle (per le sessioni RTP) per le chiamate audio/video. (Il protocollo libjingle e Jingle sono molto simili, non sono uguali e non sono interoperabili)

Yahoo, Facebook ... ci sono molti IM che ora stanno passando a XMPP. (Perché..???a causa della interworking)

Quindi, se si vuole creare il proprio IM che Interworks con Gtalk, Yahoo ... tutta la IM disponibili, utilizzare XMPP librerie. Per iniziare puoi scaricare la versione JAVA di XMPP - SMACK. Usa il suo semplice APIs e il tuo IM è pronto.

Quindi, se vuoi veramente fare qualcosa di interessante, crea nuove funzionalità, continua alla community open source, brevetta la tua idea/tecnologia o vendila a grandi armi. :)