IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> 网络编程——底层数据的传输 -> 正文阅读

[网络协议]网络编程——底层数据的传输

一.

网页编程:上层的应用

Ip:表示定位节点

端口:区分软件

URL:统一资源定位符

协议:标准,要求,合同,协议可以是交流变得更加畅通,更加标准,更加规范

传输层协议 :
? ? ? ? UDP : 相当于写信, 协议简单,开销小,效率高 ?不安全 ? 大小有限制,一般不超过60k
? ? ? ? TCP : 相当于打电话, 面向连接的,安全,效率低 ? 没有大小限制 ?*****

? ? IP : 定义互联网中的节点
? ? ? ? IPV4 : 4个字节 ?32位
? ? ? ? IPV6 : 12位

? ? ? ? 特殊的IP地址:
? ? ? ? ? ? 192.168.0.0~192.168.255.255 非注册IP,供组织内部使用
? ? ? ? ? ? 127.0.0.1 ?本地IP
? ? ? ? ? ? localhost : 本地
? ? ? ? ? ? IP -> 域名 : DNS解析器

? ? java.net 网络包
? ? InetAddress : 此类表示Internet协议(IP)地址。

? ? 端口 : ?区分软件
? ? ? ? 1.2个字节的端口号 ?0~65535
? ? ? ? 2.同一协议下端口号不能冲突
? ? ? ? 3.8000以内的端口号不推荐使用,称为预留端口号
? ? ? ? 4.常见的端口号:
? ? ? ? ? ? 80 : http
? ? ? ? ? ? 8080 : tomcat
? ? ? ? ? ? 1521 : Oracle
? ? ? ? ? ? 3306 : Mysql

? ? ?InetSocketAddress 此类实现IP套接字地址(IP地址+端口号).

? ? URL : 统一资源定位符
? ? ? ? 互联网的三大基石 : ?http html url

? ? 组成:
? ? ? ? 1.协议
? ? ? ? 2.域名
? ? ? ? 3.端口
? ? ? ? 4.资源

? ? ? ? http://www.baidu.com:80/index.html?username=zhangsan&password=1234#a

? ? ? ? URL : 类URL表示统一资源定位符,指向万维网上的“资源”的指针。

? ? Socket 套接字
? ? ? ? 传输层为应用层开辟的口子,相当于码头,插座..
? ? ? ? 不同的传输层协议下Socket实现不同
? ? ? ? 网络编程其实成为面向Socket编程

? ? 传输层协议: 合同
? ? ? ? UDP : 非面向连接的,相当于写信,邮寄包裹 ?不安全|不可靠 ? 协议简单,开销小,效率高 ?只管发送 ? 大小存在限制,不超过60k
? ? ? ? TCP : 面向连接,相当于打电话, ?安全可靠 ?但是效率低, 没有大小限制 ? 3次握手 ?4次挥手

? ? ?UDP协议下数据的传输
? ? ? ? 节点A : 发送端
? ? ? ? 节点B : 接收端
? ? ? ? UDP协议下两端平等,基于字节数组传输数据

? ? ? ? DatagramSocket : 此类表示用于发送和接收数据报包的套接字。
? ? ? ? DatagramPacket : 数据报包


? ? UDP协议实现发送端:
? ? ? ? 1.定义我是发送端 ?DatagramSocket(int port) 构造一个数据报套接字并将其绑定到本地主机上的指定端口。
? ? ? ? 2.准备数据
? ? ? ? 3.数据打包 DatagramPacket(byte[] buf, int offset, int length, SocketAddress address)
? ? ? ? 4.发送数据 void send(DatagramPacket p)
? ? ? ? 5.关闭

? ? ? ? 注意: ?同一协议下端口号不能冲突

UDP协议实现接收端:
? ? ? ? 1.定义我是接收端 DatagramSocket(int port) 构造一个数据报套接字并将其绑定到本地主机上的指定端口。
? ? ? ? 2.准备包裹接收数据
? ? ? ? 3.接收数据,阻塞式接口 ?void receive(DatagramPacket p)
? ? ? ? 4.处理数据
? ? ? ? 5.关闭

? ? TCP协议协议实现基本流程 : 客户端
? ? 1.定义我是客户端 Socket(String host, int port) 创建流套接字并将其连接到指定主机上的指定端口号。
? ? ? ? 参数指的是要连接的服务器的ip+端口
? ? 2.准备数据
? ? 3.IO操作发送数据
? ? 4.刷出
? ? 5.关闭

? ? TCP协议下数据的传输基于IO流
? ? 先开启服务器端然后再运行客户端,因为tcp协议基于连接

? ? TCP协议协议实现基本流程 : 服务端
? ? 1.定义我是服务端 ServerSocket(int port) 创建绑定到指定端口的服务器套接字。
? ? ? ? 默认服务器的IP为当前IP,服务器的端口,为参数所指定的端口
? ? 2.阻塞式监听 ?Socket accept() 侦听对此套接字的连接并接受它。
? ? 3.IO接收数据
? ? 4.处理数据
? ? 5.关闭

  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2021-11-28 11:37:38  更:2021-11-28 11:38:33 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年7日历 -2024/7/6 8:21:22-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码