【一】网络编程
网络编程三要素(IP、端口、协议)
- 找到对方的IP
- 数据要发送到对方指定程序上。为了标识这些程序,所以给这些应用程序都用数字进行标识,这个数字被叫做端口(逻辑端口)。
- 定义通信规则,这个通讯规则称为协议。
IP地址:网络中设备的标识。
不易记忆,可用主机名。
本地回环地址:127.0.0.1 主机名:localhost
端口号:用于标识进程的逻辑地址,不同进程的标识。
有效端口:0~65535,其中0~1024系统使用或保留端口。
传输协议:通讯的规则。
常见的协议:TCP、UDP
使用网络编程需要导包:import java.net.*;
示例:
/*
获取本机的地址及主机名
*/
import java.net.*;
class Demo
{
public static void main(String[] args) throws Exception
{
InetAddress ia=InetAddress.getLocalHost();
String ip=ia.getHostAddress();
String name=ia.getHostName();
System.out.println(name+"==="+ip);
}
}
截图:
国际组织定义通用协议(TCP/IP)
【二】网络模型
【三】TCP、UDP
TCP:
- 将数据及源和目的封装成数据包,不需要建立连接。
- 每个数据包的大小限制在64K内
- 因无连接,是不可靠协议
- 不需要建立连接,速度快
UDP:
- 建立连接,形成传输数据的通道
- 在连接中进行大数据量传输
- 通过三次握手完成连接,是可靠协议
- 必须建立连接,效率会稍低
【四】Socket
Socket是为网络服务提供的一种机制
通信的两端都有Socket
网络通信其实就是Socket之间的通信
数据在两个Socket之间通过IO传输