ObjectServer.java
ObjectClient.java
Message.java
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.net.ServerSocket;
import java.net.Socket;
public class ObjectServer {
public static int PORT = 8080;
public static void main(String[] agrs) {
ServerSocket s = null;
Socket socket = null;
ObjectOutputStream oos = null;
ObjectInputStream ois = null;
try {
s = new ServerSocket(PORT);
System.out.println("ServerSocket Start:"+s);
socket = s.accept();
System.out.println("Connection accept socket:"+socket);
ois = new ObjectInputStream(socket.getInputStream());
Message message = (Message)ois.readObject();
System.out.println(message.toString());
message.setContent("client received");
oos = new ObjectOutputStream(socket.getOutputStream());
oos.writeObject(message);
} catch (Exception e) {
e.printStackTrace();
}finally{
try {
ois.close();
oos.close();
socket.close();
s.close();
} catch (Exception e2) {
}
}
}
}
ObjectClient.java
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.net.Socket;
public class ObjectClient {
public static void main(String[] args) {
Socket socket = null;
ObjectOutputStream oos = null;
ObjectInputStream ois = null;
try {
socket = new Socket("127.0.0.1", ObjectServer.PORT);
System.out.println("Socket=" + socket);
Message message = new Message("1", "Client sent");
oos = new ObjectOutputStream(socket.getOutputStream());
oos.writeObject(message);
ois = new ObjectInputStream(socket.getInputStream());
message = (Message)ois.readObject();
System.out.println(message.toString());
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
ois.close();
oos.close();
socket.close();
} catch (Exception e2) {
}
}
}
}
Message.java
import java.io.Serializable;
the object should be serializable for socket transfer
public class Message implements Serializable{
private static final long serialVersionUID = 1L;
private String id;
private String content;
public Message(String id, String content){
this.id = id;
this.content = content;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getContent() {
return content;
}
public void setContent(String content) {
this.content = content;
}
public String toString(){
return "id = " + id + " content = " + content;
}
}