首页 > 解决方案 > 使用套接字将对象类从 java 服务器端正确发送到 android 客户端

问题描述

我会将对象从服务器 java 发送到客户端 android

我使用 ObjectOutputStream

在服务器中,我从数据库中获取 etudient 数据并将其发送到客户端 android 服务器端:

  while(rt.next()){
    us1=new  etudtoandroid(rt.getString("matricule"),rt.getString("nom"),rt.getString("prenom"));
         System.out.println("object remplie");

         out.writeObject(us1);
    out.flush();
    out.close();
          System.out.println("object envoye");
    userliste.add(us1);
       }
       clientSocket.close();     
    } 
     catch (IOException e) {
        System.out.println("Could not listen on port: 4444");
        e.printStackTrace();
        return;
    } catch (SQLException ex) {
        System.out.println("tttttt: 4444");
    }   }

客户端 android 端:我从服务器接收日期并反序列化为 etudient 类

        try {
            socket = new Socket("192.168.1.3", 4444);
            Log.e("SOMETAG","connection etabluie");
            ois = new ObjectInputStream(socket.getInputStream());

            Log.d("dd", String.valueOf(b));

            Log.e("SOMETAG","objr recu");
          etudient gson =(etudient)ois.readObject();
                Log.d("SOMETAG",gson.gematricule()+gson.getnom()+gson.getprenom());
   } catch (IOException e) {
                e.printStackTrace();
            }
            Log.e("SOMETAG","problem");
            ois.close();
           // textView.setText("object recu "+revoke.toString());
            Log.e("SOMETAG","problem1");
        } catch (UnknownHostException e1) {
            Log.e("SOMETAG","erreu1");
        } catch (IOException e1) {
            Log.e("SOMETAG","erreu2");
        } catch (ClassNotFoundException e1) {
            Log.d("e1","erreu3");
        }
        return null;
    }
}

班级学生:

public class etudient implements Serializable   {
private static final long serialVersionUID = 1L; // Your version number
private String    matricule1;
private String nom1;
private String prenom1;
public etudient(String matricule, String nom,String prenom) {
    matricule1=matricule;
    nom1=nom;
    prenom1=prenom;
}
public String gematricule() {
    return matricule1;
}
public String getnom(){
    return nom1;
}
public String getprenom(){
    return prenom1;
}
@Override
public String toString() {
return "RevockedUser{" +
            "userIds='" + matricule1+ '\'' +
            ", listNumber=" + nom1 +
            ", counter=" + prenom1 +
            '}';
}

}

输出 :

erreu3中的android客户端异常

etudient gson =(etudient)ois.readObject(); 

标签: javaandroidsocketsclient-server

解决方案


推荐阅读