计算机网络
网络通信要素
如何实现网络通信?
通信双方地址:
- IP
- 端口号
- 192.168.1.125:8080
规则:网络通信协议
TCP/IP参考模型:
小结:
1、网络编程中有两个主要的问题
- 如何准确的定位到网络上的一台或者多台主机
- 找到主机之后如何进行通信
2、网络编程中的要素
- IP 和 端口号
- 网络通信协议 UDP,TCP
3、万物皆对象
IP
IP地址:InetAddress
-
唯一定位一台网络计算机
-
127.0.0.1:本机localhost
-
IP地址分类
-
IPV4 / IPV6
- IPV4 127.0.0.1 ,4个字节组成。 0 ~ 255
- IPV6 fe80::4d53:5cb6:1171:9777%5 ,128位 ,8个无符号整数
-
公网(互联网)-私网(局域网)
-
import java.net.InetAddress;
import java.net.UnkNownHostException;
public class IPP {
public static void main(String[] args) {
try {
InetAddress inetAddresses = InetAddress.getByName("www.baidu.com");
System.out.println(inetAddresses);
InetAddress localHost = InetAddress.getLocalHost();
System.out.println(localHost);
} catch (UnkNownHostException e) {
throw new RuntimeException(e);
}
}
}
端口
端口表示计算机上的一个程序进程
TCP(用户传输协议) UDP(用户数据报协议)对比
TCP:打电话
- 连接,稳定
-
三次握手
四次挥手
三次握手:最少需要三次,保证稳定连接!! A:你瞅啥? B:瞅你咋地? A:来干一仗 四次挥手: zp:你放手吧! wanshy:没有机会了吗? wanshy:没有值得留恋的吗? zp:再见!!
- 客户端、服务端
- 传输完成,释放连接,效率低
UDP:发短信
- 不连接,不稳定
- 客户端、服务端,没有明确界限
- 不管你有没有准备好,都可以发给你
- 导弹攻击(知道地址,不通知直接打)