sin.available()==0
所以没有得到输入流
你要是下载网页,使用URL类得了
URL myurl = new URL("adf.com");
InputStream ins = myurl.openStream();
...

解决方案 »

  1.   

    1、如果改成sin.available()==0就变成无限等待了;
    2、我不用URL的原因是我要控制我的某个端口。请帮忙试一试!
      

  2.   

    1、如果改成sin.available()==0就变成无限等待了;
    2、我不用URL的原因是我要控制我的某个端口。请帮忙试一试!
      

  3.   

    1、如果改成sin.available()==0就变成无限等待
    2、我不用URL的原因是我要控制我的某个端口请帮忙再试一试。
      

  4.   

    我哪里说要sin.avalilable()==0啦
    你想取得页面信息没那么简单的,要写http头先,然后再取数据
    试试我改写的这个程序
    import java.net.*;
    import java.io.*;
    public class TestSocket {
    public static void main(java.lang.String[] args) {try {
    // HTTP头
    String [] httpHeader = 

    "GET / HTTP/1.1", 
    "User-Agent: Java1.3.0", 
    "Host: ", 
    "Accept: text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2", 
    "Connection: keep-alive" 
    }; 
    InetAddress addr = InetAddress.getByName("www.csdn.net");
    Socket s = new Socket(addr,80);
    InputStream in = s.getInputStream(); 
    OutputStream out = s.getOutputStream(); 
    DataOutputStream dos = new DataOutputStream(out); // Http 
    for (int i=0; i<httpHeader.length; i++) 

    dos.writeBytes(httpHeader[i]); 
    dos.writeByte(13); 
    dos.writeByte(10); 

    dos.writeByte(13); 
    dos.writeByte(10); 
    //输出
    BufferedReader br = new BufferedReader(new InputStreamReader(in)); 
    String linein; 
    while ((linein = br.readLine()) != null) 
    System.out.println(linein); 
    }catch (Exception e) {
      e.printStackTrace();
    }
    }
    }