Ti ho scritto 2 righe veloci di esempio:
Ho gestito il numero di client connessi tramite una classe esterna per comodità:
ClientN.java
Client.javacodice:class ClientN { static int n; static { n = 0; } }
Server.javacodice:import java.io.*; import java.net.*; class Client { public static void main(String[] args) { ObjectInputStream ois = null; ObjectOutputStream oos=null; try { Socket socket = new Socket("127.0.0.1",6354); while(true) { oos = new ObjectOutputStream(socket.getOutputStream()); oos.writeObject(new String("Client")); ois = new ObjectInputStream(socket.getInputStream()); String testo = (String) ois.readObject(); System.out.println("Testo ricevuto dal server: "+testo); } } catch(Exception e) {} finally { try { oos.close(); ois.close(); } catch(Exception e) {} } } }
Io tratto i flussi come oggetti, quindi puoi passare da uno String come in questo caso, ad un tuo oggetto creato ad hoc.codice:import java.net.*; import java.io.*; class Server { public static void main(String[] args) { Socket socket; ServerSocket ss = null; ObjectInputStream ois = null; ObjectOutputStream oos = null; try { ss = new ServerSocket(6354); while(true) { socket = ss.accept(); System.out.print("Nuovo Client Connesso.\nMessaggio del Client: "); ois = new ObjectInputStream(socket.getInputStream()); String testo = (String) ois.readObject(); System.out.println(testo); oos = new ObjectOutputStream(socket.getOutputStream()); oos.writeObject(new String("Benvenuto "+ClientN.n+"\r\n")); ClientN.n++; } } catch(Exception e){} finally { try { ss.close(); oos.close(); ois.close(); } catch(Exception e) {} } } }
Se hai domande poni pure. ^^

Rispondi quotando