Salve a tutti.
Allora, vorrei creare una app per android che deve funzionare da cerca persone. Pensavo di utilizzare un server (mi sono registrato su altervista oggi). Dato che di programmazione web so veramente pochissimo, pensavo (prima di creare la mia app) di fare un po' di pratica di programmazione con i server e i client, cose semplici (come scrivere e leggere file sul/dal server). E qui ho iniziato ad avere le prime difficoltà, probabilmente derivanti da scarse conoscenze in materia.
Vi spiego cosa ho fatto.
Tramite filezilla ho caricato sul server un file a questo indirizzo: /ProvaProgrammazione/prova.txt
Ho programmato in java questo client:
Codice:
package packageClientServer;
//EchoClient.java
import java.net.*;
import java.io.*;
public class EchoClient {
public static void main(String[] args) throws IOException {
/* Lanciando il programma senza argomenti si ottiene il local loopback IP address,
*per testarlo in locale (client e server sulla stessa macchina), altrimenti
*si possono passare da linea di comando l’indirizzo o il nome della macchina remota
*/
InetAddress addr = InetAddress.getByName("miohost.altervista.org");
Socket socket=null;
BufferedReader in=null, stdIn=null;
PrintWriter out=null;
try {
//creazione socket
socket = new Socket(addr, 21);
System.out.println("EchoClient: started");
System.out.println("Client Socket: "+ socket);
//creazione stream di input da socket
InputStreamReader isr = new InputStreamReader( socket.getInputStream());
in = new BufferedReader(isr);
//creazione stream di output su socket
OutputStreamWriter osw = new OutputStreamWriter( socket.getOutputStream());
BufferedWriter bw = new BufferedWriter(osw);
out = new PrintWriter(bw, true);
//creazione stream di input da tastiera
stdIn = new BufferedReader(new InputStreamReader(System.in));
String userInput;
//Leggiamo il contenuto del file
System.out.println("CONTENUTO DEL FILE");
System.out.print("Inserisci il nome del file da leggere: ");
userInput = stdIn.readLine();
out.println(userInput);
while ((userInput = in.readLine()) != null)
System.out.println(userInput);
}
catch (UnknownHostException e) {
System.err.println("Don’t know about host "+ addr);
System.exit(1);
} catch (IOException e) {
System.err.println("Couldn’t get I/O for the connection to: " + addr);
System.exit(1);
}
System.out.println("EchoClient: closing...");
out.close();
in.close();
stdIn.close();
socket.close();
}
} //EchoClient
La console mi da questo output:
CONTENUTO DEL FILE
Inserisci il nome del file da leggere: /ProvaProgrammazione/prova.txt
220---------- AlterVista FTP ----------
220-Sei l'utente numero 19 di 180 consentiti
220-L'ora locale è 16:12. Porta del server: 21.
220-Questo è un sistema privato - Nessun login anonimo
220 Sarai disconnesso dopo 5 minuti di inattività.
500 ?
Bene, qui mi perdo. Dov'è che ho sbagliato? In rete ho letto che dovrei programmare il server utilizzando il php. Io potrei anche farlo (non ci perdo niente a studiarmi il php), ma posso far interagire il php con java? Devo per forza utilizzare java, perché con questo linguaggio programmo in Android.
Grazie a chi mi vorrà aiutare.