Ti ho scritto 2 righe veloci di esempio:
Ho gestito il numero di client connessi tramite una classe esterna per comodità:
ClientN.java
codice:
class ClientN {
static int n;
static {
n = 0;
}
}
Client.java
codice:
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) {}
}
}
}
Server.java
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) {}
}
}
}
Io tratto i flussi come oggetti, quindi puoi passare da uno String come in questo caso, ad un tuo oggetto creato ad hoc.
Se hai domande poni pure. ^^