悬赏80黑马币如果解决了追加50
最近在写一个即时聊天软件,这个困扰了我几天没解决,百度查到的资料几乎为0,是我一大难题,在这里求助大神。 我就把问题这段代码发出来方便大家阅读。
希望大家代码拿过去解决了来,解决了黑马币少不了你的呵呵。
问题 我想服务器接受客户端发过来的类p,打印p中的name, 但是一执行就会报错ioexception,我在catch中加入了system打印异常不加这句还看不到异常信息,真是日了狗了,奇怪, 客户端发送类p服务器接受不到但是把客户端的oos.writeobject("wubo")直接发送字符串,服务器端又可以接受到了,看来问题就在这了,是我漏了什么么,求大神解决好了来追加黑马币
代码如下:
test1类 (这个类是服务端serversocket)
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.Serializable;
import java.net.ServerSocket;
import java.net.Socket;
class person{
private String name;
public String getName(){
return name;}
}
public class test1{
Socket client;
public test2(){
try {
ServerSocket ss=new ServerSocket(10001);
client=ss.accept();
ObjectInputStream ois=new ObjectInputStream(client.getInputStream());
person ps=(person)ois.readObject();
System.out.println(ps.getName());}
catch (IOException e) {
System.out.println("IOException");}
catch (ClassNotFoundException e) {
System.out.println("ClassNotFoundException");}
}
public static void main(String[]a){
new test2();
}
}
test类 (这个是客户端scoket)
package test;
import java.io.IOException;
import java.io.Serializable;
import java.io.ObjectOutputStream;
import java.io.Serializable;
import java.net.InetAddress;
import java.net.Socket;
import java.net.UnknownHostException;
class person implements Serializable{
private String name;
public void setName(String name){
this.name =name;
}
public String getName(){
return name;
}
}
public class demo {
Socket s;
public demo(){
try {
s = new Socket(InetAddress.getLocalHost().getHostAddress(),10001);
ObjectOutputStream oos=new ObjectOutputStream(s.getOutputStream());
person p=new person();
p.setName("wubo");
oos.writeObject(p);
oos.flush();
} catch (UnknownHostException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();}
}
public static void main(String []a){
new demo();
}
}
|