Web Messenger come "MSN-Messenger"

w_t

Utente Attivo
3 Set 2007
121
0
16
Salve,
avrei la necessità di installare un sistema di messaggistica tipo il vecchio MSN-Messenger o Skype, mi spiego:

- ho un sito dove sono registrati un certo numero di utenti membri,
- l'utente navigatore vede chi è online e apre una chat con chi vuole, da qui in poi dovrei riuscire a svilupparlo con le seguenti caratteristiche:

1) La Chat lavora solo in "Privato", nessuno deve vedere le discussioni di altri.
2) L'utente navigatore apre una chat con un l'utente membro questo ultimo si aggiunge al proprio elenco utenti, contemporaneamente all'utente membro deve visualizzarsi nel proprio elenco chi lo sta contattando, il tutto no al prossimo invio di testo ma immediatamente come se lavorasse in "Sochet".
3) Si deve potere vedere quando l'altro sta digitando testo.
4) Non deve essere una chat con aggiornamento ogni secondo o altro periodo, se nessuno degli utenti scrive non devono partire interrogazioni a vuoto consumando solo banda inutile.
5) Non devo dovere installare al "Virtual Machine"
6) Non devo installare il "Flash Player"

Per il punto 5 e 6 , devo fare cosi dato che non tutti gli utilizzatori sanno fare queste cose oppure non tutti chattano da PC propri e quindi potrebbero essere bloccati per l'installazione di terzi software.

Domanda: con quale linguaggio posso fare questa chat ??

Grazie mille per la pazienza.
 

flameseeker

Utente Attivo
27 Nov 2013
699
0
0
Ho aspettato un pò a rispondere, principalmente per vedere se qualche utente più preparato in materia si facesse avanti.
Ti posto i miei suggerimenti, successivamente ti consiglio di verificare ciò che ti dico tramite altri canali se non arriva nessun altro a partecipare alla discussione.

Visto le caratteristiche specifiche che richiedi, sono ovviamente da escludere tecnologie standard per la creazione di una chat basate su un linguaggio server side, più database come buffer e pollig frequente per vedere se ci sono nuovi messaggi.

Le alternative potrebbero essere o quella di usare java per gestire il demone della chat e svilupparle quindi col pushing (così che sia il server a distribuire i messaggi arbitrariamente e anche istantaneamente), oppure di usare WebRTC.

Pro e Contro metodo con Java:

  • Java è una tecnologia molto diffusa ma non è richiesto che i tuoi utenti debbano averlo installato nel pc in questo caso in quanto puoi usare javascript sul browser degli utenti per interfacciarti tramite WebSocket al demone java, senza bisogno così di necessitare di alcun client simil IRC.
  • Se decidi di usufruire di java, dovrai connetterti tramite socket al server e, chiaramente, con un crescente numero di utenti l'applicazione tenderà a gravare sempre più a livello prestazionale sull'infrastruttura server (aumentando i costi)
  • Chiaramente è una soluzione che consuma banda, anche se di meno rispetto ad altri metodi in quanto il socket in attesa non invia alcun dato.


Pro e Contro WebRTC:

  • WebRTC permette a due client di connettersi tra loro usufruendo soltanto di API javascript! Generalmente la tecnologia è stata sviluppata per poter inviare dati relativi ad audio e video, ma è molto flessibile e permette di passare comunque dati in modo arbitrario per poter scambiare, in questo caso, messaggi di chat.
  • Connettendosi in Peer To Peer, non c'è un consumo di banda da parte del sito per i messaggi scambiati, di conseguenza i costi per mantenere il servizio sono molto inferiori rispetto ad altre soluzioni, inoltre sfruttando la tecnologia in sè puoi implementare anche le videochiamate senza particolari problemi.
  • Il grosso scoglio di WebRTC è che si tratta di una tecnologia molto recente e, al momento, è supportata da pochi browser (nello specifico: Chrome, Firefox, Opera)



ps: per quanto riguarda la lista dei contatti, etc, basta un qualsiasi linguaggio di scripting server side.
 

w_t

Utente Attivo
3 Set 2007
121
0
16
  • Java è una tecnologia molto diffusa ma non è richiesto che i tuoi utenti debbano averlo installato nel pc in questo caso in quanto puoi usare javascript sul browser degli utenti per interfacciarti tramite WebSocket al demone java, senza bisogno così di necessitare di alcun client simil IRC.
  • Se decidi di usufruire di java, dovrai connetterti tramite socket al server e, chiaramente, con un crescente numero di utenti l'applicazione tenderà a gravare sempre più a livello prestazionale sull'infrastruttura server (aumentando i costi)
  • Chiaramente è una soluzione che consuma banda, anche se di meno rispetto ad altri metodi in quanto il socket in attesa non invia alcun dato.

Questa notizia è la soluzione al mio problema, grandissimo, mi puoi dare dei link dove utilizzano "Java + JavaScript" per comunicare come dovrei fare io ???

mille grazie!!!
 

flameseeker

Utente Attivo
27 Nov 2013
699
0
0
Praticamente per usufruire dei websocket bisogna utilizzare delle API specifiche (JSR-356).

Penso che googlando con i dati che ti ho fornito dovresti poter trovare esempi di tutti i tipi, ad ogni modo ho trovato con una rapida ricerca anche diversi framework che semplificano il processo di creazione componenti server e client, uno di questi è Atmosphere che non sembra niente male, soprattutto perchè presenta numerosi esempi di sviluppo, tra cui è annoverata anche una chat.
 

w_t

Utente Attivo
3 Set 2007
121
0
16
Grandissimo,
da quello che ho capito è proprio quello che volevo.

Ho scaricato lo zip di esempi, ho seguito quello della chat: https://github.com/Atmosphere/atmosphere-samples/tree/master/samples/chat

Ho seguito il TUTORIAL: http://async-io.org/tutorial.html

ma non riesco a configurare la chat per un test, non mi si connette....

1) Non riesco a creare il corretto l'albero delle directory.
2) Non capisco se devo compilare le classi Java con eclipse

Tu cosa puoi consigliarmi per capirci qualcosa ? Il vorrei fare il classico esempio "Hello World", mi accontenterei di questo, poi il resto lo implementerei di conseguenza.
 

flameseeker

Utente Attivo
27 Nov 2013
699
0
0
Ho trovato un articolo su di un blog che mi sembra abbastanza chiaro come esempio (ovviamente si, il sorgente java va compilato e mandato in esecuzione per i test).

In ogni caso, stesso tramite il progetto su github, ho trovato questo utile documento che ti introduce alla comprensione del broadcaster di atmosphere.

La documentazione insomma c'è e mi sembra anche di buona qualità in fatto di esaustività e semplicità.


In ogni caso, appena trovo del tempo utile proverò a strutturare un applicativo base per un hello world.
 

w_t

Utente Attivo
3 Set 2007
121
0
16
Sei magnifico,
grazie moltissimo per la tua disponibilità,
io ho sempre sviluppato tutto con PHP e C# usando Dreamweaver e Visual Studio, non conosco eclipse, l'ho aperto 5 volte in tutto e non ho mai capito nulla.

so come si esegue un progetto ma non sono capace di importare tutti quei sorgenti nella posizione giusta ed eseguirli, non riesco a creare un progetto nuovo e importare dentro tutto quel materiale.
 

mondrian

Nuovo Utente
6 Dic 2013
16
0
0
Udine
Ma se Java sul server non è installato o peggio il server web non ha il modulo corrispondente installato come fai?
 

flameseeker

Utente Attivo
27 Nov 2013
699
0
0
Ma se Java sul server non è installato o peggio il server web non ha il modulo corrispondente installato come fai?

Chiaramente hai bisogno di poter gestire il server da una shell almeno, altrimenti non puoi creare e avviare i servizi necessari.

By the way, ho visto che ci sono diversi progetti su github per rendere i socket di php compatibili con i websocket (questo mi sembra uno dei più semplici da utilizzare) e di conseguenza è possibile implementare anche puramente con php un servizio di questo tipo anche se, chiaramente, in applicativi server molto complessi php non ha tutte le comodità che java invece offre, come la gestione dei thread e delle classi sincronizzate (per dovere di cronaca è giusto però dire che il footprint java caricato con ogni processo è chiaramente più oneroso).
 
Discussioni simili
Autore Titolo Forum Risposte Data
A basi di web design Discussioni Varie 1
A Consiglio per creazione sito web CMS (Content Management System) 0
N client web hikvision IP Cam e Videosorveglianza 10
W [Cerco collaborazioni] Sviluppatore Web (PHP) Offerte e Richieste di Lavoro e/o Collaborazione 1
L Creazioni siti web / e-commerce Annunci servizi di Social Media Marketing 0
T Film interattivo con linguaggi web Programmazione 7
T [cerco] scrittore/scrittrice per articoli web Offerte e Richieste di Lavoro e/o Collaborazione 5
T Offuscare link pagina web PHP 2
Y Vorrei selezionare un colore di sfondo per una pagina web Javascript 0
S Interfaccia web Cisco cap1700 Reti LAN e Wireless 0
G un tool che trova nuovi clienti per web agency e web developer Offerte e Richieste di Lavoro e/o Collaborazione 2
R DUBBI PORTFOLIO WEB DESIGN CMS (Content Management System) 2
S WEB APP PER AUTOMATIZZARE TASK INSTAGRAM Annunci servizi di Social Media Marketing 0
G Nuova Idea su come trovare clienti per sviluppo web Discussioni Varie 6
Tommy03 App mobile+ sito web con lo stesso database Sviluppo app per Android 4
L Aiuto per programma web php/mySQL PHP 2
R Convertire slides Powerpoint in Pagine Web HTML e CSS 7
S Software windows10 per controllo contenuti web Windows e Software 6
A Progetto Sito web responsive HTML e CSS 2
S Problemi di visualizzazione form contatti sito web HTML e CSS 2
S Realizziamo siti web/ pubblicita di target Offerte e Richieste di Lavoro e/o Collaborazione 0
Web93 CREARE SITO WEB COMICS CON WORDPRESS WordPress 0
M [VENDO]Sito web su misura e richiesta Compravendita siti e domini 0
A Cornici immagini per sito Web Wordpress WordPress 1
max1974 Web Cam Girata a specchio "instascan" jQuery 1
C [CERCO] Collaborazione con Web Agency o Web Designer Offerte e Richieste di Lavoro e/o Collaborazione 1
C [a pagamento] - Cercasi sviluppatore web front-end per assunzione Offerte e Richieste di Lavoro e/o Collaborazione 0
V Servizio design pagina web e download in self contained html file Discussioni Varie 1
A [Offro][retribuito] Creazione siti web/ web app (Django) Offerte e Richieste di Lavoro e/o Collaborazione 2
Q Leggere NFC da web app - web nfc Javascript 0
felino [Wordpress] Sito web con codice malevolo WordPress 7
D CERCO ~ Programmatore Gioco Web Offerte e Richieste di Lavoro e/o Collaborazione 0
E [Offro] Realizzazione di siti web e ottimizzazione SEO per raggiungere il primo posto su Google Offerte e Richieste di Lavoro e/o Collaborazione 0
O IP Cam in streaming su sito web IP Cam e Videosorveglianza 2
Web93 RICHIESTA CONSIGLIO - FARE UN SITO WEB CMS (Content Management System) 1
G [OFFRO][RETRIBUITO] Creazione siti web e loghi professionali Offerte e Richieste di Lavoro e/o Collaborazione 0
Licantropo Servizio oroscopo per giornali e/o testate web Discussioni Varie 2
S visualizzatore web Sviluppo app per Android 1
M Programmazione web HTML, CSS e JavaScript Offerte e Richieste di Lavoro e/o Collaborazione 6
LDB Multimedia e Internet Realizzo e Progetto Siti Web per ogni tipologia Professionale Offerte e Richieste di Lavoro e/o Collaborazione 0
D Web developer per sviluppo piattaforma turistica Offerte e Richieste di Lavoro e/o Collaborazione 3
P [OFFRO] Realizzazione siti web in PHP/MYSQL, responsive e Ottimizzati SEO Offerte e Richieste di Lavoro e/o Collaborazione 0
Web93 PROBLEMA SITO WEB WORDPRESS - LOGIN DASHBOARD Programmazione 3
A Mantenere la validazione reindirizzandoci su un secondo sito WEb. (ASP.NET) ASP.NET 0
A [HTML] Creare sito web per eLearnig HTML e CSS 2
V [JAVA] come integrare un software scritto in java su una pagina web? Java 4
N Avviare un'attività di vendita di siti web Discussioni Varie 3
felino [PHP] Monitorare una pagina web ciclicamente PHP 2
C [Vendo] Spazio Web su sito informatico e tech Vendere e Acquistare pubblicita' online 0
T onsiglio Web agency tra Caserta Agro Aversano e Napoli e zone vicine. Offerte e Richieste di Lavoro e/o Collaborazione 0

Discussioni simili