一、概念
Ip:区分每一台计算机
端口:区分每一个软件
URL:区分软件上的不同资源
协议:就是交流的方式
TCP协议:面向连接,更安全,较低效(常应用于电话聊天等)
UDP协议:非面向连接,不安全,较高效(常应用于QQ聊天,邮箱等)
二、网络分层
OSI TCP/IP协议集
应用层
表示层 ——应用层
会话层
传输层 —— 传输层
网络层 ——网络层
数据链路层 ——网络接口
物理层
注意:OSI网络通信协议模型知识一个参考模型,而TCP/IP协议是事实上的标准
三、IP
IP:定位一个节点:计算机、路由、通讯设备等
* InetAddress:多个静态方法
* 1、getLocalHost:本机
* 2、getByName:根据域名DNS 或IP地址-->IP
*
* 两个成员方法:
* 1、getHostAddress:返回地址
* 2、getHostName:返回计算机名
public class IPTest { public static void main(String[] args) throws UnknownHostException { //使用getLocalHost方法创建InetAddress对象 本机 InetAddress addr=InetAddress.getLocalHost(); System.out.println(addr.getHostAddress());//返回IP System.out.println(addr.getHostName());//输出计算机名 } }
四、端口
端口
* 1、区分软件
* 2、2个字节0-65535 UDP TCP
* 3、同一个协议端口不能冲突
* 4、定义端口越大越好
* InetSocketAddress
* 1、构造器
* new InetSocketAddress(地址|域名, 端口);
* 2、方法
* getAddress()
* getHostName()
* getPort()
public class PortTest { public static void main(String[] args) { //包含端口 InetSocketAddress socketAddress =new InetSocketAddress("127.0.0.23", 8080); InetSocketAddress socketAddress2 =new InetSocketAddress("localhost", 9000); System.out.println(socketAddress.getHostName()); System.out.println(socketAddress.getAddress()); System.out.println(socketAddress.getPort()); System.out.println(socketAddress2.getHostName()); System.out.println(socketAddress2.getAddress()); System.out.println(socketAddress2.getPort()); } }
五:URL
URL:统一资源定位器,互联网三大基石之一(html,http),区分资源
* 1、协议
* 2、域名、计算机
* 3、端口:默认80
* 4、请求资源
* http://www.baidu.com:80/index.html?uname=shsxt&age=18#a
public class URLTest01 { public static void main(String[] args) throws MalformedURLException { URL url=new URL("http://www.baidu.com:80/index.html?uname=shsxt&age=18#a"); System.out.println("协议:"+url.getProtocol()); System.out.println("域名或ip:"+url.getHost()); System.out.println("端口:"+url.getPort()); System.out.println("请求资源:"+url.getFile()); System.out.println("请求资源:"+url.getPath()); //参数 System.out.println("参数:"+url.getQuery()); //锚点 System.out.println("锚点:"+url.getRef()); } }