一、网络编程概述:
1、实现网络之间的通信,要具备三个要素,IP地址,端口,和通讯协议。
IP地址:它是为主机编地址的方式。IP地址是32位的二进制数。它被分隔成4部分,每部分八个二进制位,中间用,隔开,因此每段最大为255。常见的IP地址有IPV4和IPV6.。IPV4为32位,分4段,每段最大值为255,但是随着互联网的发展,IP地址需求过大,因此产生了IPV6它是采用128位的地址长度。解决了IP地址不够用的问题。
2、逻辑端口:用于标志进程的逻辑地址,不同的进程的标识,有效端口范围0-65535 ,其中0-1024一般用于系统或作为保留端口。
3、同时我们也必须拥有一样的协议,国际组织定义了TCP/IP协议,这个协议大部分操作系统都具备,因此我们可以实现跟所有觉又此协议的计算机实现通信。常见的协议有TCP ,UDP。
本地回环地址:127.0.0.1 主机名:localhost,可用于测试网卡 (ping 127.0.0.1)
二、 OSI七层和TCP/IP四层的关系
2.1 OSI引入了服务、接口、协议、分层的概念,TCP/IP借鉴了OSI的这些概念建立TCP/IP模型。
2.2 OSI先有模型,后有协议,先有标准,后进行实践;而TCP/IP则相反,先有协议和应用再提出了模型,且是参照的OSI模型。
2.3 OSI是一种理论下的模型,而TCP/IP已被广泛使用,成为网络互联事实上的标准。
TCP:transmission control protocol 传输控制协议
UDP:user data protocol 用户数据报协议
UDP:
1、将数据源和目的封装成数据包中,不需要建立连接
2、每个数据报的大小限制在64K内
3、因无连接,是不可靠协议
4、不需要建立连接,速度快
TCP:
1、建立连接,形成传输数据的通道
2、在连接中进行大量数据传输
3、通过三次握手确认连接,是可靠协议
4、必须建立连接,效率会稍低
三、IP地址值:InetAddress
getByName(String host)通过主机名获取IP对象的方法,可以获取任何知道主机名的IP地址。
此类没有构造方法,因此要通过它的静态方法获取对象。
代码:
import java.net.*;
public class Main {
public static void main(String args[]) throws Exception {
InetAddress i = InetAddress.getLocalHost();
System.out.println(i.toString());
System.out.println("address"+i.getHostAddress());
System.out.println("name:"+i.getHostName());
}
}