IO异常 java.net.SocketException: Connection reset

服务端代码

package com.ligo.socket;

import java.io.InputStream;
import java.net.ServerSocket;
import java.net.Socket;

public class LigoServer3 {
    
    public static void main(String[] args) {
        
        try {
            System.out.println("已经开启 http服务");
            ServerSocket sc = new ServerSocket(8080);
            Socket s = sc.accept();               
            InputStream is = s.getInputStream();
             int count = 0;
             byte[] buffer = new byte[30];  
             System.out.println("开始读取数据");
            while((count = is.read(buffer)) > -1) {
                System.out.println("读到数据的个数:"+count);
            }
            //读完数据的时间
            System.out.println("读取数据结束");
        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }
}
                                                  

客户单代码

 1 package org.cnt.java.client;
 2 
 3 import java.net.InetSocketAddress;
 4 import java.net.Socket;
 5 import java.util.Random;
 6 
 7 public class Client {
 8 
 9     public static void main(String[] args) {
10         try {
11             Socket s = new Socket();
12             s.connect(new InetSocketAddress("localhost", 8080));
13             System.out.println("已经连接到服务端,发送的数据准备中");
14             //睡眠随机的5-10秒,模拟数据尚未就绪
15             Thread.sleep((new Random().nextInt(6) + 5) * 1000);
16             s.getOutputStream().write(prepareBytes());
17             System.out.println("数据已发送中");
18             //睡眠10秒,让服务器端把数据读完
19             Thread.sleep(10000);
20             //s.close();
21         } catch (Exception e) {
22             e.printStackTrace();
23         }
24     }
25 
26 
27     static byte[] prepareBytes() {
28         byte[] bytes = new byte[68];
29         for (int i = 0; i < bytes.length; i++) {
30             bytes[i] = 1;
31         }
32         return bytes;
33     }
34 }

猜你喜欢

转载自www.cnblogs.com/martin-cn/p/10910463.html
今日推荐