java - 使用套接字将对象类从 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();
解决方案
推荐阅读
- javascript - 为什么 map.has() 为已删除的对象返回 false?
- c++ - ASIO 正确处理多线程 + strand + socket + timer
- composer-php - 神器作曲家packages.json 404
- linux - 通过 ssh 连接到外部服务器
- python - 如何在 python 3.7 中安装pyramid-arima
- java - 如何从 Xamarin 打开从 Android Studio 创建的活动?
- python - python将位置从一个def导入另一个def以从天气API打印位置
- node.js - Express:用子资源定义 REST API?
- docker - Docker:如何将带有数据的容器从一台主机传输到另一台主机
- fortran - 在 Fortran90 内在函数上使用常规指令