第三十五天--小人物的坚持--网络编程

1,网络编程

可以让设备中的程序和网络上其他设备中的程序进行数据交互(实现网络通信的)

2,java提供了哪些网络编程的方式

java.net.*包下提供了网络编程的解决方案

基本的通信架构

有两种--CS架构(Client客户端/Server服务端)--BS架构(Browser浏览器/Server服务端) ​​​​​​​

无论CS架构和BS架构都必须依赖网络编程

3,网络通信三要素

IP地址:设备在网络中的地址,是唯一的标识

端口:应用程序在设备中唯一的标记

协议:连接和数据在网络中传输的规则

4,IP地址

全称:互联网协议地址

有两种形式:IPv4--32位,不够用

和IPv6--共128位,分为八段表示,每段每四位编码成一个十六进制位表示,八段用冒号隔开

IP域名:例如http://www.itheima.com

公网IP,内网IP

公网IP:可以连接互联网的IP地址

内网IP:也叫局域网IP,只能组织机构内部使用

192.168开头就是常见的局域网地址,专为组织机构使用

特殊IP:172.0.0.1、localhost:代表本机IP,只会寻找当前所在的主机

IP常用命令:

ipconfig:查看本机IP地址

ping IP地址:检查网络是否连通

物理地址(MAC地址):设备的唯一标识,出厂焊死在设备上的

InetAddress--代表ip地址

5,端口

标记正在计算机设备上运行的应用程序的,被规定为一个16位的二进制,范围为0~65535

分类:

周知端口:0~1023,被预先定义的知名应用占用(如:HTTP占用80,FTP占用21)

注册端口:1024~49151,分配给用户进程或某些应用程序

动态端口:49152~65535,因为它一般不固定分配某种进程,而是动态分配

注意:我们自己开发程序一般使用注册端口,且一个设备中不能出现两个程序端口号一样

6,协议

网络通信协议:网络上通信的设备,实现规定的连接规则,以及传输数据的规则

开放式网络互联标准:OSI网络参考模型

OSI网络参考模型:全球网络互联标准--太过理想化

TCP/IP网络模型:事实上的国际标准

7,传输层的两个协议

UDP:用户数据报协议

特点:无连接,不可靠通信

不实现建立连接,数据按照包发,包里面包含:自己的ip,程序端口,目的地ip,程序端口等

发送方不管对方是否在线,数据在中间丢失也不管,如果接收方收到数据也不返回确认

故而是不可靠的,但是通信效率高,语音通话,视频直播等

TCP:传输控制协议

特点:面向连接,可靠通信

TCP的最终目的:要保证在不可靠的信道上实现可靠的传输

TCP主要有三个步骤实现可靠传输:三次握手建立连接,传输数据进行确认,四次挥手断开连接

三次握手:

可靠连接:确认通信双方,收发消息都是正常无问题的(全双工)

传输数据进行确认,每次发消息都有编号标识

四次挥手断开连接:

目的:确保双方数据的收发都已经完成

​​​​​​​

8,UDP通信

特点:无连接,不可靠

java提供了java.net.DatagramSocket类来实现UPD通信

参数一:要发送的数据,字节数组

参数二:发送数据的大小

参数三:目的地IP地址

参数四:接收端端口号

相关推荐
STQY燊桐启元(深圳)电子科技7 小时前
医疗精密电源散热方案:相变陶瓷片保障医疗设备长效稳定低干扰
大数据·网络·人工智能
CDN3609 小时前
节点智能调度实操:解决出海区域访问快慢不均、节点拥堵、跨洋延迟高,CDN 全网择优落地方案
运维·服务器·网络
roman_日积跬步-终至千里9 小时前
【数据治理(6)】DataOps 不是调度工具,而是让数据产品长期可信的运行机制
java·服务器·网络
可乐鸡翅yeah_11 小时前
个人 / 外包流媒体项目交付实战,M3U8 验收与问题闭环完整工作流
运维·网络·python·低代码·django·m3u8·在线播放
黄俊懿13 小时前
【架构师从入门到进阶】第五章:DNS&CDN&网关优化思路——第十节:网关安全-单向加密
网络·数据库·计算机网络·安全·架构·系统架构·架构师
Patrick在香港13 小时前
Python 拉取城巴开放数据:406 条路线,香港岛巴士网络的数字画像
网络·python·数据分析·php·数据可视化·香港·开放数据
一直C13 小时前
Linux系统编程|进程间通信IPC全套详解(1)(管道、信号)
linux·c语言·开发语言·网络·青少年编程·visual studio code
Experience-摆渡13 小时前
自建 IP 轮换方案实战:健康探测 + 熔断剔除 + 粘性会话
网络·网络协议·tcp/ip
luj_176813 小时前
合法避税与投资评估实战指南
c语言·开发语言·网络·经验分享·算法
库玛西14 小时前
Linux网络编程:HTTP/HTTPS协议核心技术全解析
linux·运维·服务器·网络·c++·http·https