地球村:住在广东的人们,住在美国的人们。
计算机网络是指将地理位置不同的具有独立功能的多台计算机及其外部设备,通过通信线路连接起来,在网络操作系统,网络管理软件及网络通信协议的管理和协调下,实现资源共享和信息传递的计算机系统。
无线电台,传播交流信息,数据交换,通信
Javaweb:网页编程 B/S
网络编程:TCP/IP C/S
人工智能:智能汽车:工厂、人少
如何实现网络的通信?
通信双方的地址:
规则:网络通信的协议
TCP/IP参考模型:
小结:
IP地址:inetaddress
唯一定位一台网络上计算机
127.0.0.1:本机localhost
IP地址的分类
ipv4/ipv6
公网(互联网)/私网(局域网)
ABCD四类
192.168.···,局域网,专门给组织内部使用
域名:记忆IP问题
IP:好的域名价值高
package com.liumang.lesson01;
//测试IP
import java.net.InetAddress;
import java.net.UnknownHostException;
/**
* @author LiuXingWu
* @create 2020-08-14 11:05
*/
public class TestInetAddress {
public static void main(String[] args) {
try {
//查询本机IP
InetAddress inetAddress1 = InetAddress.getByName("127.0.0.1");
System.out.println(inetAddress1);
InetAddress inetAddress2 = InetAddress.getLocalHost();
System.out.println(inetAddress2);
InetAddress inetAddress3 = InetAddress.getByName("localhost");
System.out.println(inetAddress3);
// 查询网站IP地址
InetAddress inetAddress5 = InetAddress.getByName("www.baidu.com");
System.out.println(inetAddress5);
//常用方法
System.out.println(inetAddress5.getAddress());//地址
System.out.println(inetAddress5.getCanonicalHostName());//规范的名字
System.out.println(inetAddress5.getHostAddress());//ip
System.out.println(inetAddress5.getHostName());//域名,或自己主机的名字
} catch (UnknownHostException e) {
e.printStackTrace();
}
}
}
端口表示计算机上的一个程序的进程
不同的进程有不同的端口号,端口号不能冲突用来区分软件!
被规定0~65535
TCP,UDP:65535 * 2 。TCP:80,UDP:80, 单个协议下,端口号不能冲突
端口分类
公有端口0~1023
程序注册端口:1024~49151,分配用户或者程序
动态、私有:49152~65535
netstat -ano # 查看所有的端口
netstat -ano|findetr "5900"# 查看指定的端口
tasklist|findetr"8696"#查看指定端口的进程
Ctrl + shift + ESC #
package com.liumang.lesson01;
import java.net.InetSocketAddress;
/**
* @author LiuXingWu
* @create 2020-08-14 17:58
*/
public class TestInetSocketAddress {
public static void main(String[] args) {
InetSocketAddress socketAddress = new InetSocketAddress("127.0.0.1", 8080);
InetSocketAddress socketAddress2 = new InetSocketAddress("localhost", 8080);
System.out.println(socketAddress);
System.out.println(socketAddress2);
System.out.println(socketAddress.getAddress());
System.out.println(socketAddress.getHostName());//地址
System.out.println(socketAddress.getPort());//端口
}
}
协议:约定
网络通信协议:速率,传输码率,代码结构,传输控制···
问题:复杂
大事化小:分层
TCP/IP协议簇
重要
出名的协议
TCP、UDP对比
TCP:打电话
连接,稳定
“三次握手,四次挥手”
最少需要三次,保证稳定连接
A:你愁啥?
B:瞅你咋地?
A:干一场!
A:我要走了
B:你真的要走了吗?
B:你真的真的要走了吗?
A:我真的要走了
客户端、服务端
传输完成,释放连接,效率低
UDP:发短信
客户端
服务器
原文:https://www.cnblogs.com/Liu-xing-wu/p/13537921.html