Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 14
  1. #1
    Utente bannato
    Registrato dal
    Apr 2013
    Messaggi
    109

    Servlet su Android, solo un consiglio da dove incominciare

    Ho trovato su html.it almeno 2 guide sulle Servlet:

    http://www.html.it/articoli/primi-pa...-le-servlet-1/

    http://www.html.it/articoli/tomcat-l...one-servita-1/

    oltre che un manuale sulla hoepli:

    http://www.hoepli.it/libro/programma...820332624.html

    Devo escludere la terza opzione per motivi di tempistica anche se conservo il libro tra la lista dei miei prossimi libri da leggere.

    A me interessa capire come passare una variabile da uno smartphone ad un pc attraverso una rete wireless ovvero capire come far comunicare 2 dispositivi diversi con java. Faccio un esempio:

    Sullo smatphone definisco il lato di un quadrato, sul portatile calcolo l'area e sullo smartphone leggo il risultato.

    Le prime guide che ho elencato sono quelle consigliate? Mi sembra di capire che esistono diverse librerie per fare questo e vorrei chiedervi qualche consiglio su come affrontare la questione magari concentrandomi subito sulla soluzione che voi ritenete più adatta a me o meglio ancora più utilizzata. Le mie uniche esigenze sono queste:

    1) Programmare con NetBeans su Desktop (vorrei realizzare anche interfacce grafiche in modo agevole)
    2) Programmare su Eclipse con SDK su telefonino (sono tutti strumenti che già conosco)
    3) Creare un app su telefonino e un programma su Desktop che una volta compilate non necessitino di altri software, al di fuori della virtual machine di java ovviamente...

    Grazie per la vostra pazienza

  2. #2
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,304
    Premesso che con Android sto cominciando in questi giorni... non capisco perchè parli di Servlet.

    Una Servlet è un componente di una WebApplication (di un sito, usando una terminologia spicciola), che gira all'interno di un ServletContainer o di un ApplicationServer.

    Se quello che serve a te è semplicemente una comunicazione client/server per spedire/ricevere dati, le Servlets non ti servono a nulla... ti bastano e avanzano le Socket (LocalSocket o LocalServerSocket su Android, Socket o ServerSocket su Java per PC).

    Una configurazione tipo potrebbe essere questa:

    Sul PC, un programma che apre una ServerSocket in attesa di connessioni.
    Sullo smartphone Android un'app che apre una LocalSocket verso l'IP del PC, connettendosi.

    A questo punto c'è una comunicazione bidirezionale tra lo smartphone ed il pc.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  3. #3
    Utente bannato
    Registrato dal
    Apr 2013
    Messaggi
    109
    Grazie per il consiglio, se posso disturbarti ancora ti vorrei chiedere alcune informazioni perché sono completamente ignorante in materia.
    1.Con il sistema che mi consigli di utilizzare quanti smartphone possono comunicare simultaneamente con il portatile e a quale distanza? (in futuro vorrei arrivare a poter sviluppare applicazioni che permettono di far comunicare anche 2000 smartphone sullo stesso portatile ad una distanza di 100 metri)
    2.Cos’à in più o in meno la tecnologia servlet rispetto a quella socket? Sapresti dirmi in maniera spicciola la sostanziale differenza senza usare un linguaggio troppo tecnico?
    3.Mi sapresti consigliare qualcosa da leggere? Grazie alla parolina socket ed il buon google ho trovato queste dispense:
    http://www.html.it/articoli/i-socket-1/
    http://www.disi.unige.it/person/Cazz...iti/socket.pdf
    http://nicchia.ingce.unibo.it/oop/we...ketesempi.html
    http://www.edumobile.org/android/and...t-programming/
    un tuo parere sarebbe ancora graditissimo.
    Grazie ancora

  4. #4
    Utente bannato
    Registrato dal
    Apr 2013
    Messaggi
    109
    Da una rapida lettura di tutta la documentazione da me riportata sembra che la tecnologia faccia al caso mio ma resto comunque con gli stessi dubbi scritti sopra soprattutto in merito ai limiti di performance delle socket e delle due tecnologie (TCP, UDP). Con grande piacere noto che è necessario utilizzare i thread, metodi che avevo analizzato nel dettaglio in passato ma che non avevo mai avuto occasione di utilizzare.
    A presto

  5. #5
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,304
    Non c'è nessun limite né di distanza né di altro: le socket sono alla base della comunicazione di rete (di TUTTE le comunicazioni di rete, anche quelle tra un browser ed un sito). Se lo smartphone è sotto copertura di una rete (wireless, 3g, quel che vuoi) allora può collegarsi ad internet, quindi può usare il procotollo TCP.

    Sul numero di smartphone che si possono collegare non c'è nessun limite.

    Stai facendo una confusione immensa: Servlet non è una tecnologia diversa da Socket (è come chiedere che differenza c'è fra una ruota e un'autostrada: se non fosse stata inventata la ruota non avrebbero senso le autostrade... se non esistessero le Socket, non avrebbero senso le Servlet).

    Una Servlet è un "micro-programma" che costituisce una parte di un sito.
    Una Socket è un componente che permette di stabilire una connessione di rete (di qualunque tipo, anche quelle tra un browser ed un sito).

    Senza le Socket non esiste comunicazione di rete... di nessun tipo. Con una Socket ci si può collegare a una qualunque risorsa disponibile in rete (un sito, un server di posta, un server FTP, un database, un programma "pinco pallino").

    Per quanto riguarda le risorse on-line c'è anche il tutorial ufficiale di Oracle:
    http://docs.oracle.com/javase/tutorial/networking/

    In particolare sulle socket:
    http://docs.oracle.com/javase/tutori...rking/sockets/

    Ma prima di tutto cercherei di chiarirmi bene le idee... credo ti sia molto più utile concentrarti sul networking (primo link) che parla appunto delle comunicazioni di rete e dimenticarti completamente (almeno per il momento) le Servlet (che riguardano la costruzione di Applicazioni Web, intese come siti internet, quindi un tipo molto più particolare di comunicazione di rete, che si sviluppa attorno al protocollo HTTP, che a te non serve).

    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  6. #6
    Utente bannato
    Registrato dal
    Apr 2013
    Messaggi
    109
    Devo assolutamente approfondire però ti devo chiedere un paio di cose perché sono molto più ignorante di come pensi. Se mi perdoni ti faccio 2 domande stupidissime:
    Con questi strumenti (socket, servlet, ecc…) è possibile collegare n smartphone con 1 portatile e quest’ultimo con gli n telefonini solo se cellulari e computer hanno l’accesso a internet?
    Non è possibile collegare dispositivi diversi senza utilizzare internet risparmiando il costo della connessione a internet?
    Appena ho tempo leggo con più cura la guida di html.it e riproduco gli esempi così entro meglio nell'ottica anche se come puoi notare mi mancano proprio le basi.

  7. #7
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,304
    Originariamente inviato da luciofilomeno
    Con questi strumenti (socket, servlet, ecc…) è possibile collegare n smartphone con 1 portatile e quest’ultimo con gli n telefonini solo se cellulari e computer hanno l’accesso a internet?
    Non è possibile collegare dispositivi diversi senza utilizzare internet risparmiando il costo della connessione a internet?
    La connessione ad internet la paghi se usi il servizio dati della SIM... se hai a disposizione una rete wireless non paghi nulla. Non vedo in quale altro modo potresti collegare due dispositivi (se non usando il Bluetooth, che è comunque una tecnologia diversa dalla normale comunicazione di rete e che prevede che i due dispositivi siano entrambi dotati del chip del bluetooth, che sia attivo in entrambi, che entrambi siano fisicamente vicini e che si "conoscano"). In quale altro modo pensavi di poter collegare i due dispositivi?

    Dico "due dispositivi" per semplicità: che poi ci sia un PC portatile e N smartphone la cosa non cambia... tra il PC e ciascuno smartphone c'è sempre una comunicazione "1 a 1".

    Appena ho tempo leggo con più cura la guida di html.it e riproduco gli esempi così entro meglio nell'ottica anche se come puoi notare mi mancano proprio le basi.
    Sì, ma un'applicazione come quella che intendi realizzare richiede che queste basi siano ben note e consolidate. Cioè, è necessario che tu sappia che cos'è una comunicazione di rete e come funziona, altrimenti non vai davvero da nessunissima parte.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  8. #8
    Utente bannato
    Registrato dal
    Apr 2013
    Messaggi
    109
    Ero molto indeciso tra il bluetooth e internet, per questo motivo ti chiedevo delucidazioni al riguardo. Internet se ho capito bene permette di far dialogare nello stesso istante un normale pc con molti smartphone a distanza qualsiasi e in tempo reale, a patto ovviamente di non scambiare file da 50MB ma solo stringhe quindi è il top, il bluetooth invece richiede che i dispositivi siano vicini e in numero limitato, questa è l’idea che mi sono fatto leggendo i tuoi post. Sono propenso ad utilizzare internet però tutto ciò ha un costo. Se lo smartphone è a 5 m dal router e non riesce a rientrare nella rete wireless messa a disposizione si deve collegare a internet autonomamente e a sue spese per poter colloquiare con il pc. Mi interessava conoscere qualcosa di più sul bluetooth e sul wireless anche in merito alla distanza massima a cui arrivano queste tecnologie per scegliere con oculatezza anche se sono già quasi sicuro che userò internet per via del numero "illimitato" di client.
    Sempre grazie per la tua consulenza

  9. #9
    Utente bannato
    Registrato dal
    Apr 2013
    Messaggi
    109
    Alla domanda sopra aggiungo una seconda curiosità. Quando apro XAMPP per fare le mie prove in locale con il PHP attivo ogni volta tutte le spunte e senza neppure saperlo avvio anche Tomcat. Avevo già trovato questa parola leggendo una dispensa in inglese sulle servlet. Sul fantomatico portatile dovrò installare xampp e configurarlo a dovere?

  10. #10
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,304
    Non so quale sia la domanda sopra, mi sembrava un post di sole considerazioni...

    Riguardo XAMPP (che ha poco a che vedere con questa sezione del forum):
    PHP con Tomcat non c'entra assolutamente nulla. Tomcat è un Servlet Container che serve a far girare Servlet e pagine JSP. In pratica, serve a costrure siti internet basati su tecnologia Java.

    Per quanto riguarda la tua applicazione, come già detto, non ti serve assolutamente nulla che riguardi il WEB: non ti serve Apache, non ti serve Tomcat, non ti servono le Servlets, men che meno framework complessi e pesanti come Struts (di cui avevi postato un link nel primo post). Ti basta un PC collegato ad una rete.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.