大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。
Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺
网络编程
1.1概述
网络编程的目的:
信息传递,数据交换,通信。
实现网络的条件:
-
如何准确定位网络上的一台主机?
- IP地址+端口号
- 定位到这台计算机上的某个资源
-
找到了这个主机,如何传输数据?——硬件传输介质
-
网络通信的规则:协议——UDP,TCP
TCP/IP参考模型
Javaweb——网页编程——B/S架构(Browser/Server,浏览器/服务器模式)
网络编程——TCP/IP
C/S架构(Client/Server,服务器-客户机模式)
1.2 IP
IP地址类:InetAddress
-
IP唯一定位网络上一台主机
-
本机localHost
-
IP地址的分类——命令ipconfig
-
按照IP地址分类:ipv4/ipv6
IPV4:127.0.0.1
一共32位,由4个字节组成,用点隔开,十进制表示,每个字节范围0-255,大概42亿个(30亿北美,4亿亚洲),2011年用尽
IPV6:fe80::f139:56e1:af51:acc8%19(对19取了模,并不完整)
一共128位,由8个无符号整数组成,用冒号隔开,十六进制表示(足够多,用不完)
-
按照公网(互联网)-私网(局域网)分类
- ABCD类地址
- 192.168.XXX.XXX专门给组织内部使用
-
-
域名:解决记忆IP问题,ip比较难记,域名类似www.baidu.com这样
-
package study1118_net; import java.net.InetAddress; import java.net.UnknownHostException; //测试IP public class TestInetAddress { public static void main(String[] args) { try { //查询本机地址 InetAddress inetAddress1 = InetAddress.getByName("127.0.0.1"); InetAddress inetAddress3 = InetAddress.getByName("localhost"); InetAddress inetAddress4 = InetAddress.getLocalHost(); System.out.println(inetAddress1); // /127.0.0.1 System.out.println(inetAddress3); // localhost/127.0.0.1 System.out.println(inetAddress4); // DESKTOP-V1GKSNM/192.168.255.1 //查询网站ip地址 InetAddress inetAddress2 = InetAddress.getByName("www.baidu.com"); System.out.println(inetAddress2); //www.baidu.com/39.156.66.18 //常用方法 } catch (UnknownHostException e) { e.printStackTrace(); } } }
1.3 端口
端口主要用于表示计算机上的一个程序的进程(PID-进程ID)
- 不同的进程有不同的端口号,不能冲突,用于区分软件
- 端口规定数量0-65536
- TCP端口和UDP端口各有65535,同一个协议中端口号不能冲突
- 端口分类
- 公有端口0-1023,专用
- 常见端口
- HTTP:80
- HTTP:443
- FTP:21
- Telent:23
- 程序注册端口:1024-49151,分配给用户或者程序
- Tomcat:8080
- MySQL:3306
- Oracle:1521
- 动态、私有:49152-65535,尽量不使用
常见的网络相关的DOS命令
netstat -ano //查看所有端口
netstat -ano|findstr "5900" //查看具体端口
打开任务管理器可以查看进程号ctrl+shift+esc
1.4 通信协议
协议:约定。
网络通信协议:速率,传输码率,代码结构,传输控制…
TCP/IP协议簇
传输层协议:TCP,UDP
网络层协议:IP…
-
TCP:用户传输协议(类似打电话)
-
UDP:用户数据报协议(类似发短信)
-
IP:网络互联协议
TCP与UDP对比
TCP:打电话
-
连接,稳定
-
三次握手,四次挥手
建立连接——最少三次:
A你瞅啥?
B瞅你咋地?
A干一场?释放连接——四次(抽空看看谢仁希的书)
A我要走了
B好的我知道了——–等待——-
B你真的要走了吗
A我真的要走了 -
客户端,服务端
-
传输完成,释放连接,效率低
UDP:发短信
- 不连接,不稳定
- 客户端,服务端:没有明确的界限
- 不管对方收不收,直接发
1.5 TCP
- 客户端
- 服务器
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/168481.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...