首页 > 代码库 > Java Socket
Java Socket
Java最初是作为网络编程语言出现的,Java Socket可以实现网络上两个程序之间的数据交换,QQ等即时通讯软件都使用了Socket相关技术。Java.net包中提供了网络编程相关的四大功能类:InetAddress、URL、Sockets、Datagram。
一、InetAddress
InetAddress类用于标识网络上的硬件资源,标识互联网协议(IP)地址。 该类没有构造方法
//获取本机的InetAddress实例 InetAddress address =InetAddress.getLocalHost(); address.getHostName();//获取计算机名 address.getHostAddress();//获取IP地址 byte[] bytes = address.getAddress();//获取字节数组形式的IP地址,以点分隔的四部分 //获取其他主机的InetAddress实例 InetAddress address2 =InetAddress.getByName("其他主机名"); InetAddress address3 =InetAddress.getByName("IP地址");
二、URL
1. URL(Uniform Resource Locator)统一资源定位符,表示Internet上某一资源的地址,协议名:资源名称
//创建一个URL的实例 URL baidu =new URL("http://www.baidu.com"); URL url =new URL(baidu,"/index.html?username=tom#test");//?表示参数,#表示锚点 url.getProtocol();//获取协议 url.getHost();//获取主机 url.getPort();//如果没有指定端口号,根据协议不同使用默认端口。此时getPort()方法的返回值为 -1 url.getPath();//获取文件路径 url.getFile();//文件名,包括文件路径+参数 url.getRef();//相对路径,就是锚点,即#号后面的内容 url.getQuery();//查询字符串,即参数
2.
//使用URL读取网页内容 //创建一个URL实例 URL url =new URL("http://www.baidu.com"); InputStream is = url.openStream();//通过openStream方法获取资源的字节输入流 InputStreamReader isr =newInputStreamReader(is,"UTF-8");//将字节输入流转换为字符输入流,如果不指定编码,中文可能会出现乱码 BufferedReader br =newBufferedReader(isr);//为字符输入流添加缓冲,提高读取效率 String data = http://www.mamicode.com/br.readLine();//读取数据 while(data!=null){ System.out.println(data);//输出数据 data =http://www.mamicode.com/ br.readerLine(); } br.close(); isr.colose(); is.close();
三、
Java Socket
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。