50,526
社区成员
发帖
与我相关
我的任务
分享
public void run() {
try {
String mess;
while (flag == true) {
try {
mess = user.getOis().readObject().toString();
String[] me = mess.split("[+]");
if (me[0].equals("Mess")) {
String sender = me[1];
String context = me[2];
String senddate = me[3];
Message newMess = new Message();
newMess.setUserno(user.getPhone());
newMess.setSender(sender);
newMess.setContext(context);
newMess.setSenddate(senddate);
ud.insert_mess(newMess);
int j = JOptionPane.showConfirmDialog(this.jf,
"有新短信是否立即查看?", "立即查看", JOptionPane.YES_OPTION,
JOptionPane.QUESTION_MESSAGE);
if (j == JOptionPane.YES_OPTION) {
com.mypack.user.Message message = new com.mypack.user.Message(
user);
RecThread rec = new RecThread(this.user, message);
rec.start();
message.setRec(rec);
message.setVisible(true);
this.jf.dispose();
this.stopThread();
}
} else {
System.out.println(Arrays.toString(me));
}
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
}
} catch (IOException e) {
e.printStackTrace();
}catch(Exception e1){
e1.printStackTrace();
}
}
这段代码在debug as的时候没有问题,但是一run as 就会报下面的错误,java.io.StreamCorruptedException: invalid type code: 0B
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1356)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:351)
at com.mypack.thread.RecThread.run(RecThread.java:40)
java.io.StreamCorruptedException: invalid type code: 00
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1356)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:351)
at com.mypack.thread.RecThread.run(RecThread.java:40)
java.io.StreamCorruptedException: invalid type code: 00
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1356)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:351)
at com.mypack.thread.RecThread.run(RecThread.java:40)
其中第40行也就是mess = user.getOis().readObject().toString();
public void sendMess(List<ServUser> list, String[] str) {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
// Date date=new Date();
String date = sdf.format(new Date());
for (ServUser serv : list) {
if (serv.getPhoneno().equals(str[2])) {
try {
serv.getOos().writeObject("Mess+" + str[1] + "+" + str[3] + "+" + date);
serv.getOos().flush();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
public void sendPhone(ServUser user, String mess){
String str1="phone";
try {
user.getOos().writeObject("phone+"+str1);
user.getOos().flush();
} catch (IOException e) {
e.printStackTrace();
}
}