import java.io.BufferedInputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutput;
import java.io.ObjectOutputStream;
import java.net.ServerSocket;
import java.net.Socket;
public class MyServer {
public static void main(String[] args) throws IOException {
ServerSocket server=new ServerSocket(10000);
while(true){
Socket socket=server.accept();
invoke(socket);
}
}
private static void invoke(final Socket socket) {
new Thread(new Runnable() {
@Override
public void run() {
ObjectOutputStream os=null;
ObjectInputStream is=null;
try{
is=new ObjectInputStream(new BufferedInputStream(socket.getInputStream()));
os=new ObjectOutputStream(socket.getOutputStream());
Object obj=is.readObject();
User user=(User)obj;
user.setName("polly-new");
user.setPassword("123-new");
os.writeObject(user);
os.flush();
}catch(IOException ex){
ex.printStackTrace();
}catch (ClassNotFoundException e) {
e.printStackTrace();
}finally{
try {
is.close();
os.close();
socket.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}).start();
}
}
<pre name="code" class="java">import java.io.BufferedInputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.net.Socket;
import java.net.UnknownHostException;
public class MyClient {
public static void main(String[] args) {
for (int i = 0; i < 10; i++) {
Socket socket=null;
ObjectOutputStream os=null;
ObjectInputStream is=null;
try {
socket=new Socket("localhost",9999);
os=new ObjectOutputStream(socket.getOutputStream());
User user=new User("user"+i,"pass"+i);
os.writeObject(user);
os.flush();
is=new ObjectInputStream(new BufferedInputStream(socket.getInputStream()));
Object obj=is.readObject();
if(obj !=null){
user=(User)obj;
System.out.println("user:"+user.getName()+"--"+user.getPassword());
}
}catch (ClassNotFoundException e) {
e.printStackTrace();
}catch (UnknownHostException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}finally{
try {
is.close();
os.close();
socket.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
}