服务端
public class MySever {
public static void main(String[] args) {
try{
new Thread(new Runnable() {
ObjectInputStream is;
public void run() {
try{
ServerSocket server = new ServerSocket(47111);
while(true){
Socket socket = server.accept();
is = new ObjectInputStream(socket.getInputStream());
Object obj = is.readObject();
if(obj instanceof User){
User u = (User) obj;
System.out.println(u.toString());
}
}
}catch(Exception e){
System.out.println(e.toString());
}
}
}).start();
}catch(Exception e){
e.printStackTrace();
}
}
}
客户端
public class MyClient {
public static void main(String[] str){
try{
Socket socket = new Socket("127.0.0.1",47111);
ObjectOutputStream os = new ObjectOutputStream(socket.getOutputStream());
User user = new User();
user.setName("张子昂");
user.setSex("女");
user.setPassword("654321");
os.writeObject(user);
os.flush();
os.close();
}catch(Exception e){
System.out.println(e.toString());
}
}
如果你传对象的话,你的User对象必须跟你的服务端在同一目录下,也就是如果你把你的客户端或者服务端放到别人的机子测试的话,User对象的包名类名必须一至,不然数据是传送不成功的。