现在在写一个程序。发送方不是我写的,
我的inputStream时而返回-1 时而阻塞。毫无规律

解决方案 »

  1.   

    // Telnet对象
    private TelnetClient telnet = new TelnetClient();private InputStream in;
    telnet.connect(ip, Integer.parseInt(port));
    in = telnet.getInputStream();只是个大概的样子byte[] b = new byte[1024];
    int dataByte;
    int i = 0;
    while((dataByte = in.read()) != -1){
    b[i] = (byte) dataByte;
    i++;
    System.out.println((char)dataByte);
    }
    String ret = new String(b, 0, i);
    return ret;
      

  2.   

    没有用以下这种方式len = in.read(b);因为这种必阻无疑
      

  3.   

    感觉,需要看in所在类的API了。感觉你的需求像是想要异步I/O其实,你可以直接用异步I/O的类,上网搜搜。或者,不用也行。那就多线程呗。