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
  • 端口号
    –>192.168.16.124 :5900

规则: 网络通信的协议 (http ,ftp , smtp , tcp ,udp )
TCP/IP参考模型
在这里插入图片描述

IP地址

Java中对应的类 :InetAddress

  • 唯一定位一台网络上计算机
  • 127.0.0.0.1 :本机localhost
  • ip地址的分类:
    Ipv4:
    127.0.0.1, 由4个字节组成, 地址长度位32位 , 每个字节长度0~255
    —>42亿个 30亿在北美,亚洲4亿,2019年用完

IPv6:
2001:0db8:85a3:0000:1319:8a2e:0370:7344
地址长度128位, 由8个无符号整数 :
0~9 + abcde 组成

补充:
位(bit): 数据存储的最小单位,每个二进制数字0或者1就是1个位
一共八组,每组4个数字,一共32个数,如果每个数字都是十六进制数,一个十六进制数可以写成4个二进制数(就是十六进制数转成二进制数)
可以理解为有多少位就是多少个二进制数
所以,32×4=128位

公网(给互联网使用的) -->相当于42亿
私网(局域网) 192.168.xx.xx 一般都是局域网,专门给组织内部使用的
ABCDE类地址 ———>ipv4地址,按范围划分(0~255)

域名:记忆IP www.baidu.com

端口 Port

端口表示计算机上的一个程序进程

  • 不同进程由不同的端口号,用户来区分软件
  • 被规定范围 0~65535
  • 单个协议下,端口号不能冲突

端口分类:
1、 公有端口 : 0~1023 //尽量不要去占用
http:80
https:443
FTP :21
Telent(远程监听窗口) :23 …

2、程序注册端口 : 1024~49151 ,分配用户或程序
Tomcat :8080
MySQL :3306
Oracle : 1521

3、动态/私有端口 :49152~65535 //尽量不要去占用

命令行常中使用
netstat -ano //查看所有端口
netstat -ano|findstr “5900” //查看指定端口
tasklist|findstr “8696” //查看端口指定进程

通信协议

网络通信协议:速率,传输码率,代码结构,传输控制…
问题:非常复杂 —> 解决:分层

TCP/IP协议簇 (实际上是一组协议)
IP:网络互联协议
TCP:用户传输协议 //类似于打电话,先建立连接再传递
UDP:用户数据报协议 //类似于发短信直接发,但对方不一定收到

TCP和UDP对比
TCP :

  • 连接,稳定
  • 三次握手,四次挥手

最少需要三次,保证连接稳定
A:你瞅啥
B:瞅你咋地
A:淦
最少四次断开
A:我下线了
B:你我知道你要下线了
B:你真的要下线了吗
A:我真的下线了

  • 分为客户端和服务端去连接的
  • 传输完成 ,释放连接 ,效率低

UDP:

  • 不连接,不稳定
  • 客户端和服务端没有明确界限
  • 不管有没有准备好,都可以发给你 ---->导弹 , DDOS:洪水攻击(饱和攻击)

TCP和UDP的使用

常识补充: .bat --> windows执行 .sh --> linux执行

TCP实现聊天

客户端:
1、连接服务器Socket
2、发送消息

服务器:
1、建立服务器端口 ServerSocket
2、等待用户的连接 accept
3、接收用户消息

在这里插入图片描述

TCP文件上传的实现

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

UDP消息发送

在这里插入图片描述

虽然不需要连接,是否接受的到不确定,但必须有"活着的"才能能接受包裹,这是个前提,所要会有对应的发送端和接受端

UDP聊天的实现

补充:阻塞调用是指调用结果返回之前,当前线程会被挂起。调用线程只有在得到结果之后才会返回。
非阻塞调用指在不能立刻得到结果之前,该调用不会阻塞当前线程。

循环发送消息

在这里插入图片描述

循环接收消息

在这里插入图片描述

UDP多线程在线咨询

双方既可以是发送方也可以是接收方
将代码与线程结合,每一方创建两个线程一个用来发送,一个用来接收

URL下载网络资源

https://www.baidu.com
URL:统一资源定位符,定位互联网上的某一个资源

组成 协议://IP地址:端口(/项目名/资源)

在这里插入图片描述

URL下载网络资源

https://www.baidu.com
URL:统一资源定位符,定位互联网上的某一个资源

组成 协议://IP地址:端口(/项目名/资源)

在这里插入图片描述

  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2021-07-29 12:01:15  更:2021-07-29 12:02:02 
 
开发: 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年12日历 -2024/12/27 13:13:38-

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