Laboratorio di TECNOLOGIE E PROGETTAZIONE DI SISTEMI INFORMATICI E DI TELECOMUNICAZIONI
()
Info su questo ebook
Correlato a Laboratorio di TECNOLOGIE E PROGETTAZIONE DI SISTEMI INFORMATICI E DI TELECOMUNICAZIONI
Ebook correlati
C# Programmazione per principianti Valutazione: 0 su 5 stelle0 valutazioniIl protocollo eDonkey Valutazione: 0 su 5 stelle0 valutazioniHigh Availability Per Lo Stack Lamp Valutazione: 0 su 5 stelle0 valutazioniProgrammazione Python Per Principianti Valutazione: 0 su 5 stelle0 valutazioniJavascript - 50 funzioni e tutorial Valutazione: 0 su 5 stelle0 valutazioniProgrammazione in C | Passo dopo Passo: La guida semplice per i principianti Valutazione: 0 su 5 stelle0 valutazioniFisica: dinamica 2 con Scratch: Esperimenti con Scratch sui moti oscillatori per mezzo di simulazioni numeriche. Valutazione: 0 su 5 stelle0 valutazioniC++ Funzioni e tutorial 40 esempi Valutazione: 0 su 5 stelle0 valutazioniIntroduzione pratica alla programmazione in C++ - Parte Prima Valutazione: 0 su 5 stelle0 valutazioniPowerShell: Una Guida Completa: La collezione informatica Valutazione: 0 su 5 stelle0 valutazioniInformatica Quantistica per Programmatori e Investitori: con implementazione completa degli algoritmi in C Valutazione: 0 su 5 stelle0 valutazioniFisica: cinematica 2 con Scratch: Esperimenti con Scratch su moti vari e moti composti con il calcolo numerico Valutazione: 0 su 5 stelle0 valutazioniProgrammare In Java Valutazione: 0 su 5 stelle0 valutazioniCreare bot telegram - guida italiana Valutazione: 1 su 5 stelle1/5Test RIPAM di Informatica: Quesiti a risposta multipla di informatica tratti dalla banca dati del RIPAM Formez Valutazione: 0 su 5 stelle0 valutazioniPython: Guida Completa alla Programmazione: La collezione informatica Valutazione: 0 su 5 stelle0 valutazioniConcorso Regione Campania - i Test RIPAM Informatica: Quesiti a risposta multipla di informatica tratti dalla banca dati del RIPAM Valutazione: 0 su 5 stelle0 valutazioniAmministrazione pratica di sistema Linux Valutazione: 0 su 5 stelle0 valutazioniAutoCAD Electrical 2022 Black Book (Italian): AutoCAD Valutazione: 0 su 5 stelle0 valutazioniFisica: dinamica 1 con Scratch: Esperimenti di fisica con Scratch sui moti con attrito con il calcolo numerico Valutazione: 0 su 5 stelle0 valutazioniPHP Valutazione: 0 su 5 stelle0 valutazioniCoding in R per l'analisi dati - da principiante a esperto Valutazione: 0 su 5 stelle0 valutazioniFisica: cinematica 1 con Scratch: Esperimenti con Scratch sul moto con uso del calcolo numerico Valutazione: 0 su 5 stelle0 valutazioniC++: Guida Completa al Linguaggio e alla Programmazione ad Oggetti. Contiene Esempi di Codice ed Esercizi Pratici Valutazione: 0 su 5 stelle0 valutazioniJavascript: Un Manuale Per Imparare La Programmazione In Javascript Valutazione: 0 su 5 stelle0 valutazioniLinux Per Principianti Valutazione: 0 su 5 stelle0 valutazioniPROGRAMMARE IN C# 10 - Tecniche di base Valutazione: 0 su 5 stelle0 valutazioniCreare una web survey. Guida pratica all'uso di LimeSurvey Valutazione: 0 su 5 stelle0 valutazioniVba Se vi Piace 01 Valutazione: 0 su 5 stelle0 valutazioniFondamenti di programmazione in C# 11 Valutazione: 0 su 5 stelle0 valutazioni
Computer per voi
Javascript: Un Manuale Per Imparare La Programmazione In Javascript Valutazione: 0 su 5 stelle0 valutazioniMusicista 2.0: Come guadagnare scrivendo musica per venderla online Valutazione: 0 su 5 stelle0 valutazioniAmministrazione pratica di sistema Linux Valutazione: 0 su 5 stelle0 valutazioniProgrammatore in 3 Giorni: Guida Ipersintetica per Principianti Valutazione: 0 su 5 stelle0 valutazioniIl motore ad acqua Valutazione: 5 su 5 stelle5/5iPad in classe: il metodo Valutazione: 0 su 5 stelle0 valutazioniLA NEGOZIAZIONE IN 4 STEP. Come negoziare in situazioni difficili passando dal conflitto all’accordo nel business e nella vita quotidiana. Valutazione: 0 su 5 stelle0 valutazioniCorso di PHP. Livello base. Con esercizi Valutazione: 0 su 5 stelle0 valutazioniStreaming. Istruzioni per l'uso Valutazione: 0 su 5 stelle0 valutazioniComputer? Facile! Valutazione: 0 su 5 stelle0 valutazioniLa guida definitiva alla programmazione in Python per principianti e utenti intermedi Valutazione: 0 su 5 stelle0 valutazioniI Metadati per i tuoi Ebook Valutazione: 0 su 5 stelle0 valutazioniISO27001/ISO27002: Guida tascabile Valutazione: 0 su 5 stelle0 valutazioniCome guadagnare con la stampa 3D Valutazione: 0 su 5 stelle0 valutazioniProgrammare in Visual Basic (VB) Valutazione: 0 su 5 stelle0 valutazioniBlockchain: Capire Le Applicazioni Nel Mondo Reale: Come Applicare Blockchain Al Tuo Mondo Valutazione: 0 su 5 stelle0 valutazioniIL NEUROMARKETING IN 7 RISPOSTE: che cos'è e come funziona Valutazione: 0 su 5 stelle0 valutazioniUsa Excel come un professionista: Come muoversi con agilità e professionalità tra pagine, menu e strumenti di Excel Valutazione: 0 su 5 stelle0 valutazioniDigital Forensics - Processi e Procedure Valutazione: 0 su 5 stelle0 valutazioniPROGRAMMARE IN C# 10 - Tecniche di base Valutazione: 0 su 5 stelle0 valutazioniGuida ePUB. Creare, pubblicare, promuovere un e-book a costo zero: Corso completo da Principiante a Esperto (Nuova Versione) Valutazione: 0 su 5 stelle0 valutazioniTutti i segreti di Scrivener 3 per chi scrive Valutazione: 0 su 5 stelle0 valutazioniManuale di codifica del Magazzino: Guida pratica per la codifica in generale e con tabelle ed esempi orientati al settore manufatturiero Valutazione: 0 su 5 stelle0 valutazioni
Recensioni su Laboratorio di TECNOLOGIE E PROGETTAZIONE DI SISTEMI INFORMATICI E DI TELECOMUNICAZIONI
0 valutazioni0 recensioni
Anteprima del libro
Laboratorio di TECNOLOGIE E PROGETTAZIONE DI SISTEMI INFORMATICI E DI TELECOMUNICAZIONI - Ombretta Caiti
Laboratorio di TECNOLOGIE E
PROGETTAZIONE DI SISTEMI
INFORMATICI E DI
TELECOMUNICAZIONI
Applicazioni di rete in JAVA
di Caiti Ombretta
1
© 2019 Ombretta Caiti
Professoressa e dottoressa in Ingegneria Informatica
Verona (ITALY)
caiti79@gmail.com
Tutti i diritti sono riservati.
E' pertanto vietata la riproduzione, l'archiviazione o la trasmissione, in qualsiasi forma e con qualsiasi mezzo, comprese la fotocopia e la digitalizzazione, senza l'autorizzazione scritta di Ombretta Caiti.
2
PREFAZIONE
Questo e-book nasce con lo scopo di raccogliere le esperienze di laboratorio di
Tecnologie e progettazione di sistemi informatici e di telecomunicazioni
sviluppabili il quinto anno degli Istituti di Scuola Secondaria Superiore ad indirizzo tecnico.
Questo e-book rappresenta una sorta di guida utile per l'insegnamento/apprendimento
della disciplina tecnica, mirato a fornire le basi della programmazione base di rete in linguaggio Java.
Si presta particolare attenzione ai requisiti base (software, librerie) utilizzati nello
svolgimento delle esercitazioni, alle procedure e al testing.
In particolare nella programmazione di applicazioni di rete con i socket si utilizza come
Java IDE Bluej, mentre nella programmazione di servlet, pagine .jsp e web service si utilizza come Java IDE Eclipse.
Lo scopo delle esercitazioni è prettamente didattico pertanto l’autrice di questo ebook declina ogni responsabilità che possa derivare da ogni eventuale danno per un uso professionale.
3
SOCKET IN JAVA
1. CONNESSIONE UNICAST CLIENT-SERVER VIA TCP, SERVER MONOTHREAD
2. CONNESSIONE CLIENT-SERVER VIA TCP, SERVER MULTITHREADED ON
DEMAND
3. CONNESSIONE CLIENT-SERVER VIA TCP, SERVER MINI CALCOLATORE
(SOMMA DI N NUMERI INTERI)
4. CONNESSIONE CLIENT-SERVER VIA TCP, SERVER MINI CALCOLATORE
(LE OPERAZIONI ARITMETICHE)
5. CONNESSIONE CLIENT-SERVER VIA UDP, TIME SERVER
6. COMUNICAZIONE MULTICAST VIA UDP
7. COMUNICAZIONE MULTICAST VIA UDP: VERSI DI UNA POESIA
8. COMUNICAZIONE TCP SERVER MULTITHREADED – SISTEMA DI
PRENOTAZIONI IN RETE
9. CONNESSIONE FTP CLIENT-SERVER - INDOVINA NUMERO
10. COMUNICAZIONE CLIENT-SERVER SOCKET UDP: OROSCOPI ON LINE
SERVLET JAVA con IDE ECLIPSE
JSP : JAVA SERVER PAGES
CONNESSIONE A MYSQL CON JSP
METODI CRUD: CREATE/INSERT, READ/SELECT, UPDATE, DELETE
JSP CON BEAN, ARRAYLIST E SELEZIONE DA HTML
WEB SERVICE
WEB SERVICE BASATO SU SOAP
WEB SERVICE RESTFUL CON JERSEY:
SERVER - WEB SERVICE RESTFUL
CLIENT - CALL RESTFUL API WEB SERVICE IN SERVLET
4
SOCKET IN JAVA
Tools di sviluppo, librerie e linguaggi di programmazione:
jdk1.8.0_211
jre1.8.0_211
JAVA
IDE
1.8
BLUEJ
1. CONNESSIONE UNICAST CLIENT-SERVER VIA TCP, SERVER MONOTHREAD
Figura 1: Modello di comunicazione client-server
Listato Server.java
// creazione di una connessione client-server via TCP
import java.io.*;
import java.net.*;
public class Server {
public static void main(String[] args){
try{
// la classe ServerSocket deve essere istanziata passando come parametro
// il numero della porta su cui il server sarà in ascolto
ServerSocket ss=new ServerSocket(5678); //fuori dal range 1-1024
Socket s=ss.accept(); // il server rimane in attesa di un client
DataInputStream dis=new DataInputStream(s.getInputStream());
String str=(String)dis.readUTF(); // legge i caratteri del messaggio in input codificato con il formato modified UTF 8
System.out.println(Messaggio ricevuto dal server=
+str+ dalla socket del client
+s); ss.close(); //chiusura della connessione da parte del server
}catch(Exception e){System.out.println(e);}
}
}
5
Listato Client.java
// creazione di una connessione client-server via TCP
import java.io.*;
import java.net.*;
public class Client {
public static void main(String[] args) {
try{
Socket s=new Socket(localhost
,5678); // creazione di un'istanza di socket
// creazione di un canale di comunicazione di output
DataOutputStream dout=new DataOutputStream(s.getOutputStream());
dout.writeUTF(Ciao Server, ti invio il mio primo messaggio
);
// invio di caratteri codificati secondo il formato modified UTF 8 dal client al server dout.flush();
dout.close(); // chiusura del canale di output
s.close(); // chiusura del socket del client
}
catch(Exception e){ System.out.println(e);}
}
}
6
Figura 2: Invocazione metodo main della classe Server
Figura 3: Invocazione metodo main della classe Client
Figura 4: Output
7
2. CONNESSIONE CLIENT-SERVER VIA TCP, SERVER MULTITHREADED ON DEMAND
Viene creato un thread per ogni client al momento del a richiesta di connessione e viene
terminato al a chiusura del a comunicazione.
Figura 5: Modello di comunicazione un server - due client
8
Sono presenti 3 cartel e corrispondenti ad altrettanti progetti Bluej:
1) Server (Listato Server.java)
2) Client (Listato Client.java)
3) Client2 (Listato Client.java)
Listato Server.java
import java.io.*;
import java.net.*;
import java.util.*;
// Server multithreaded con schema on demand: il server è in grado di accettare richieste da più client contemporaneamente
public class Server extends Thread{
private ServerSocket Server;
private int count; // contatore del numero di connessioni
public static void main(String argv[]) throws Exception{
new Server();
}
public Server() throws Exception{
System.out.println(Il Server è in attesa sulla porta 4500.
);
// si crea un oggetto ServerSocket e lo si pone in ascolto sulla porta 4500
Server = new ServerSocket(4500);
// il metodo start
lancia il metodo run
della classe Server
this.start();
}
public void run(){
// ciclo infinito in cui il server è in attesa sulla porta 4500
while(true){
try {
System.out.println(1. Server in attesa di una richiesta di connessione da parte di un client.
);
// quando il server riceve una richiesta da parte di un client
// crea una nuova istanza di una Socket per quel client