接收网络服务器发送来的数据
/* Readnet.Java
接收网络服务器发送来的数据,并将其原样输出到屏幕上
使用方法:java Readnet DNS Port
例:java Readnet www.domain.cn 80
*/
import java.io.*;
import java.net.*;
public class Readnet
{
public static void main(String[] args)
{
byte[] buff = new byte[1024];
Socket readsocket = null; // 连接服务器的socket
InputStream instr = null; // 读取数据的对象
boolean cont = true;
//对于指定的端口,生成socket
//生成instr对象,预备读取数据
try
{
readsocket = new Socket(args[0], Integer.parseInt(args[1]));
instr = readsocket.getInputStream();
}
catch (Exception e)
{
System.err.println("文件没有找到");
System.exit(1);
}
//数据读取未完时执行以下的循环
while (cont)
{
try
{
//读取数据
int n = instr.read(buff);
//写入到System.out中
System.out.write(buff, 0, n);
}
catch (Exception e)
{
cont = false;
}
}
//断开连接
try
{
instr.close();
}
catch (Exception e)
{
//网络关闭失败
System.err.println("网络错误");
System.exit(1);
}
}
}