网络:一组相互连接的计算级与多台计算机组成使用物理线路进行连接
网络编程的三要素:
【1】IP地址:唯一标识网络上的每一台计算机
两台计算机之间通信的必备有素
【2】端口号:计算机中应用的标号(代表一个应用程序)
0-1024系统使用或保留端口 ,
有效端口0-65536
【3】通信协议:通信的规则
TCP,UDP
IP地址 = 网络ID +主机ID
网络ID:标识计算机或网络设备所在的网段
主机ID:标识特定主机或网络设备
0.0.0.0:本机
127.0.0.1:本机回环地址,用于本机测试
255.255.255.255:当前子网,一般用于向当前子网广播信息
IP地址所对应的InetAddress
public class InetAddressDemo {
public static void main(String[] args) throws Exception {
InetAddress ia = InetAddress.getByName(“www.baidu.com”);
System.out.println(ia.getHostAddress());// 获取ip
System.out.println(ia.getHostName()); // 获取主机名
InetAddress bi = InetAddress.getLocalHost();// 获取本机的ip信息
InetAddress[] ias = InetAddress.getAllByName(“T”);// 根据主机名返回所有ip地址
}
}
端口:port
端口是虚拟的概念,并不是说在主机上真的有若干个端口。通过端口,可以在一个主机上运行多个网络应用程序。
UDP:相当于发短信(有字数限制),
不需要建立连接,
数据报的大小限制在64k内,
效率较高,不安全,容易丢包
TCP:相当于打电话,需要建立连接,
效率相对比较低,数据传输安全,
三次握手完成。
Java中使用Socket完成TCP程序的开发,使用此类可以方便的建立可靠的、
双向的、持续性的、点对点的通讯连接