A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 陈军 中级黑马   /  2012-11-20 11:50  /  1500 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 陈军 于 2012-11-22 09:19 编辑

自己在做一个小项目时,用Socket传输一个对象,假设对象是aa(A aa=new A(),aa.set...)
我用了序列化的流。ObjectInpuStream 和ObjectOutputStream
但是如果我直接用writeObject(aa)写到输出流时,
服务端读取的时候获取不到。不明是什么原因。虽然最后我用集合的方式解决了。但是这个问题还没想通。
下面是写和读的关键代码:

public void sendCertifyInfo1(TransFileProtocol filePro)throws Exception{
                                                  
                           ObjectOutputStream out=new ObjectOutputStream(s.getOutputStream());
                           out.writeObject(filePro);                                
                           out.flush();
                                                        
        }
         while (true) {
        try {
              Socket s = this.accept();
             String ip = s.getInetAddress().getHostAddress();
                                
             ObjectInputStream ois = new ObjectInputStream(s.getInputStream());
                                System.out.println("开始获取协议");
                                                                                        TransFileProtocol tf=(TransFileProtocol )ois.readObject();
                                                               
                           
                                System.out.println("获取成功");
                                
               
                                System.out.println(tf.isStartFlag());
                        } catch (Exception e) {
                                throw new RuntimeException(e);
                        }
        }

其中TransFileProtocol 是一个小协议。

评分

参与人数 1技术分 +1 收起 理由
古银平 + 1 赞一个!

查看全部评分

4 个回复

倒序浏览
TransFileProtocol filePro 这个参数是什么??
回复 使用道具 举报
不晓得你上面的代码是错是对,如果是对的,那就是说你写入的是TransFileProtocol,所以接受也得拿这个。而且拿集合保存序列化的对象,然后写入,这样不是更方便吗?
回复 使用道具 举报
王阳 发表于 2012-11-20 20:51
TransFileProtocol filePro 这个参数是什么??

这是一个自己做的小协议类
回复 使用道具 举报
陈军 发表于 2012-11-22 09:18
这是一个自己做的小协议类

这个,就真不晓得了。不过建议你还是保存在集合里好一点。起码读写时候会方便点,只用读写一次,资源消耗较低
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马