1、概述
信件:
计算机网络:计算机网络是指将地理位置不同的具有独立功能的多台计算机及其外部设备,通过通信线路连接起来,在网络操作系统,网络管理软件及网络通信协议的管理和协调下,实现资源共享和信息传递的计算机系统。
网络编程目的:
无线电台---传播交流信息,数据交换,通信。
想要达到这个效果需要什么:
1.如何准确定位网络上的一台主机 端口,定位到这个计算机上的某个资源
2.找到这个主机,如何传输数据
javaweb 网页编程: B/S
网络编程: TCP/IP C/S
2、网络通信的要素
如何实现网络的通信
通信双方的地址:
-
IP
-
端口号
规则:网络通信的协议
TCP/IP参考模型:
3、IP地址
ip地址:InetAddress
-
唯一定位一台网络上的计算机
-
127.0.0.1:本机
-
ip地址的分类
ipv4/ipv6
ipv4:127.0.0.1,四个字节组成,
ipv6: fe80::646d:2fff:fe1d:6b64%15 128位。8个无符号整数
公网(互联网)-私网(局域网)
package com.studyInternet.lesson1;
import java.net.InetAddress;
import java.net.UnknownHostException;
public class TestInetAddress {
public static void main(String[] args) {
try {
//查询自己的ip地址
InetAddress inetAddress1 = InetAddress.getByName("127.0.0.1");
System.out.println(inetAddress1);
InetAddress inetAddress3 = InetAddress.getByName("localhost");
System.out.println(inetAddress3);
InetAddress inetAddress4= InetAddress.getLocalHost();
System.out.println(inetAddress4);
//查询网站ip地址
InetAddress inetAddress2 = InetAddress.getByName("www.baidu.com");
System.out.println(inetAddress2);
//常用方法
// System.out.println(inetAddress2.getAddress());
System.out.println(inetAddress2.getHostAddress());
System.out.println(inetAddress2.getHostName());
System.out.println(inetAddress2.getCanonicalHostName());
} catch (UnknownHostException e) {
e.printStackTrace();
}
}
}
4、端口Port
端口表示计算机上的一个程序的进程
-
不同的进程有不同的端口号!用来区分软件
-
被规定0-65535
-
TCP,UDP
-
端口分类:
公有端口0~1023
Http:80
Https:443
FTP:21
Telent:23
程序注册端口:2014~49151,分配用户或者程序
Tomcat:8080
MySQL:3306
Oracle:1521
动态、私有:49152~65535
netstat -ano #查看所有的端口 netstat -ano|findstr"" #查看指定的端口 tasklist|findstr "" #查看指定端口的进程 Ctrl+shift+ESC #任务管理器快捷
package com.studyInternet.lesson1; import java.net.InetSocketAddress; public class TestInetSocketAddress { public static void main(String[] args) { InetSocketAddress socketAddress1 = new InetSocketAddress("127.0.0.1",8080); InetSocketAddress socketAddress2 = new InetSocketAddress("localhost",8080); System.out.println(socketAddress1); System.out.println(socketAddress2); System.out.println(socketAddress1.getAddress()); System.out.println(socketAddress1.getHostName());//地址 System.out.println(socketAddress1.getPort());//端口 } }
5、 通信协议
协议:约定
网络通信协议:速率,传输码率,代码结构,传输控制、、、、、
TCP/UDP协议簇 实际上是一组协议
重要
-
TCP:用户传输协议