#2
帝师2020-11-23 20:13
我从新写了哈,我传输完了然后他给我抛了个
at (ObjectInputStream.java:2958) at (ObjectInputStream.java:1538) at (ObjectInputStream.java:431) at com.briup.smart.env.server.ServerImpl.reciver(ServerImpl.java:49) at com.briup.smart.env.server.ServerImpl.main(ServerImpl.java:21) 是为什么啊,我所有数据已经传输完毕了。 客户: public void send(Collection<Environment> c) throws Exception { // TODO Auto-generated method stub String host = "127.0.0.1"; int port = 8888; socket = new Socket(host, port); oos = new ObjectOutputStream(socket.getOutputStream()); Iterator<Environment> iterator = c.iterator(); while(iterator.hasNext()) { Environment next = iterator.next(); oos.writeObject(next); } } 服务器: public void reciver() throws Exception { // TODO Auto-generated method stub int port = 8888; server = new ServerSocket(port); System.out.println("服务器启动,监听端口"+port+",等待客户端的连接"); socket = server.accept(); System.out.println("服务器接收到客户端的连接:"+socket); bis = new ObjectInputStream(socket.getInputStream()); Object object = null; while((object = bis.readObject()) != null) { Environment e = (Environment)object; System.out.println(e); i++; } } |
我这里只写了一个传输成功了多个报错
客户:
@Override
public void send(Collection<Environment> c) throws Exception {
// TODO Auto-generated method stub
String host = "127.0.0.1";
int port = 8888;
socket = new Socket(host, port);
oos = new ObjectOutputStream(socket.getOutputStream());
Iterator<Environment> iterator = c.iterator();
//while(iterator.hasNext()) {
Environment next = iterator.next();
//System.out.println(next);
oos.writeObject(next);
oos.flush();
//}
}
服务:
@Override
public void reciver() throws Exception {
// TODO Auto-generated method stub
int port = 8888;
server = new ServerSocket(port);
System.out.println("服务器启动,监听端口"+port+",等待客户端的连接");
socket = server.accept();
System.out.println("服务器接收到客户端的连接:"+socket);
bis = new ObjectInputStream(socket.getInputStream());
int len = -1;
//while((len = bis.read()) != -1) {
Object object = bis.readObject();
Environment e = (Environment)object;
System.out.println(e);
//}
}