Salve ragazzi buon pomeriggio!
Sto provando ad adoperare le socket per far dialogare un server e un client in maniera veramente basilare.
Riesco a far avvenire la connessione, ma non riesco a far scambiare messaggi ai due, cosa che tento di fare tramite
nella classe Server
codice:
alClient.write("Benvenuto sul server!\n");
Nella classe Client
codice:
System.out.println("Risposta del server: " + dalServer.readLine());
In particolare, "Benventuo sul server" non viene stampato e per quanto riguarda l'altro ottengo "Risposta del server NULL".

Qualcuno potrebbe darmi una mano?
Grazie anticipatamente a chiunque voglia aiutarmi!!

Classe Client
codice:
package chat_v0;
import java.net.*;
import java.io.*;

public class Client
{
    public static void main(String args[])
    {
        
        try
        {
            System.out.println("Apertura connessione...");
            Socket s1 = new Socket ("127.0.0.1", 5555);
            BufferedReader dalServer = new BufferedReader(new InputStreamReader(s1.getInputStream()));
            PrintWriter alServer= new PrintWriter(s1.getOutputStream());
            System.out.println("Risposta del server: " + dalServer.readLine());
            s1.close();
            System.out.println("Chiusura connessione effettuata");
        }
        catch (ConnectException connExc)
        {
            System.err.println("Errore nella connessione ");
        }
        catch (IOException ex)
        {
            ex.printStackTrace();
        }  
    }
}
Classe Server
codice:
package chat_v0;
import java.net.*;
import java.io.*;

public class Server
{
    public static void main (String args[])
    
    {   
        ServerSocket server = null;
        try
        {
            server = new ServerSocket(5555);   
        }
        catch (IOException ex)
        {
            ex.printStackTrace();
        }
        System.out.println("Server creato con successo!");
    
        
        BufferedReader dalClient;
        PrintWriter alClient;
        while (true)
        {
            try
            {    
                // Il server resta in attesa di una richiesta
                System.out.println("Server in attesa di richieste...");
                Socket s1 = server.accept();
                System.out.println("Un client si e' connesso...");
                dalClient=new BufferedReader(new InputStreamReader(s1.getInputStream()));
                alClient= new PrintWriter(s1.getOutputStream());
                alClient.write("Benvenuto sul server!\n");
                s1.close();
                System.out.println("Chiusura connessione effettuata\n");
            }        
            catch (IOException ex)
            {
                ex.printStackTrace();
            }
        }
    }
}