java——网络知识积累
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java——网络知识积累相关的知识,希望对你有一定的参考价值。
1.获得局域网的所有主机ip地址
ping ip 等待每次回复的超时时间: -w 280 要发送的回显请求数:-n 1
Process process=Runtime.getRuntime().exec("ping ");
process.getInputStream()----InputStreamReader()----BufferReader in=new BufferReader()----String line=in.readLine()----line.substring(0,2).equals("来自")||-line.substring(0,10).equals("Reply from")
获得内网的所有IP地址,先获得本机的ip地址所属的网段,然后ping网络中的ip地址,通过输入流对象读所ping的结果,并判断是否为内网的ip地址
2.获取网络资源的大小
new URL(String url).openConnection().connect(); 打开到URL引用资源的通信链接
URLConnection.getContentLength() 以字节为单位返回资源大小
3.网络资源多线程下载
1>conn.getInputStream()----BufferedInputStream(in)----int len=bin.read(buffer)!=1
byte[] buffer=new byte[2048]; out.write(buffer,0,len);
2>new URL(String url).openConnection().getResponseCode() 获得连接状态标记代码
getContentLength() disconnect() 200--连接状态
.setRequestProperty("User-Agent","NetFox")设置请求属性
.setRequestProperty("RANGE","byte="+"-")设置请求范围属性 String file=getFile()
4.使用socket传输图片
DataInputStream的read()----图片文件读取到字节数组
DataOutputStream(继承DataOutput)----write()----输出字节数组
new ServerSocket.accept()----实例化Socket对象
DataInputStream(socket.getOutputStream()) ----readLong()/readByte() DataOutputStream(socket.getInputStream())
客户端发送:new DataInputStream(new FileInputStream(imgFile))----read(bt)
out.writeLong(imgFile.length()) out.write(bt) new byte[(int)imageFIle.length()]
5.BufferReader reader=new BufferReader(new InputStreamReader(socket.getInputStream()))----String s=reader.readLine()
以上是关于java——网络知识积累的主要内容,如果未能解决你的问题,请参考以下文章