ceekay_ 2015-11-23 08:07 采纳率: 16.7%
浏览 2058

socket通信 客户端报错

java.net.SocketException: Connection reset
服务端
public static void main(String[] args) {

 ConfigManager man=ConfigManager.getInstance();
 List<CommandGroup> group=man.getCommandGroup();
 List<Socket> socket=null;
 try {
    ServerSocket server=new ServerSocket(9123);
    socket=new ArrayList<Socket>();
    while (true) {
        server.setSoTimeout(5000);
        Socket sockcet= server.accept();
        socket.add(sockcet);
    }

} catch (IOException e) {
    // TODO Auto-generated catch block          
    e.printStackTrace();
}

 for (int i = 0; i < socket.size(); i++) {
        byte[] buf=OtherUtils.toSerialize(group.get(0));
        PackageFactory.write(buf, socket.get(i));
    }

}


客户端

 public static void main(String[] args) {
        try {
            Socket socket=new Socket("localhost", 9123);
            System.out.println(socket.isClosed());
            ObjectInputStream inputStream = new ObjectInputStream(new BufferedInputStream(socket.getInputStream()));
            CommandGroup group =(CommandGroup) inputStream.readObject();
            System.out.println(group.getLoop());
        } catch (UnknownHostException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (ClassNotFoundException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }

报错:图片说明

  • 写回答

3条回答 默认 最新

  • 毕小宝 博客专家认证 2015-11-23 08:39
    关注

    java.net.SocketException: Connection reset异常产生的原因有两方面:
    1,如果一端的Socket被关闭(或主动关闭,或因为异常退出而 引起的关闭),另一端仍发送数据,发送的第一个数据包引发该异常(Connect reset by peer)。
    2,一端退出,但退出时并未关闭该连接,另一端如果在从连接中读数据则抛出该异常(Connection reset)。简单的说就是在连接断开后的读和写操作引起的。
    检查下你的是否存在客户端程序退出了,但是outputstream流并没有关闭呢。

    评论

报告相同问题?

悬赏问题

  • ¥15 微信会员卡接入微信支付商户号收款
  • ¥15 如何获取烟草零售终端数据
  • ¥15 数学建模招标中位数问题
  • ¥15 phython路径名过长报错 不知道什么问题
  • ¥15 深度学习中模型转换该怎么实现
  • ¥15 HLs设计手写数字识别程序编译通不过
  • ¥15 Stata外部命令安装问题求帮助!
  • ¥15 从键盘随机输入A-H中的一串字符串,用七段数码管方法进行绘制。提交代码及运行截图。
  • ¥15 TYPCE母转母,插入认方向
  • ¥15 如何用python向钉钉机器人发送可以放大的图片?