当前位置: 首页 > news >正文

网络编程——通信三要素

一、概述

(一)网络编程

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

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

(二)通信的基本架构

1. CS架构(Client客户端/Server服务端)

2. BS架构(Browser浏览器/Server服务端)

二、网络通信三要素

(一)IP地址&InetAddress

IP地址:“互联网协议地址”,设备在网络中的地址,是唯一的标识

1. IP地址的两种形式

(1)IPv4(已经瓶颈期)

(2)IPv6

共128位,号称可以为地球的每一粒沙子编号

IPv6分成8段表示,每段每四位编码成一个十六进制位表示,数之间用冒号(:)分开

(3)IP域名

比如: https://mp.csdn.net

(4)公网IP

是可以连接互联网的IP地址

(5)内网IP

内网IP:也叫局域网IP,只能组织机构内部使用。192.168.开头的就是常见的局域网地址,范围即为192.168.0.0--192.168.255.255,专门为组织机构内部使用。

(6)特殊IP地址

127.0.0.1、localhost:代表本机IP,只会寻找当前所在的主机。

(7)IP常用命令

ipconfig:查看本机IP地址

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

2. InetAddress

代表IP地址

(二)端口号

应用程序在设备中唯一的标识

1. 端口

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

2. 分类

(1)周知端口

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

(2)注册端口

1024-49151, 分配给用户进程或者某些应用程序

(3)动态端口

49152-65535,之所以称为动态端口,是因为它一般不固定分配某种进程,而是动态分配。

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

(三)协议

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

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

(1)OSI网络参考模型:全球互联网标准
(2)TCP/IP网络模型:事实上的国际标准

1. 协议-UDP:User Datagram Protocol 用户数据报协议

(1)特点

无连接、不可靠通信,但是通信效率高,一些视频通话或者视频直播的应用场景就可以使用

不事先建立连接,数据按照包发,一包数据包含:自己的IP,程序端口,目的地IP,程序端口和数据(限制在64kb之内)等

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

2. 协议-TCP:Transmission Control Protocol 传输控制协议

(1)特点

面向连接,可靠通信,但是通信效率相对不高,适合网页、文件下载、支付等场景。

(2)TCP的最终目的:

要保证在不可靠的信道上实现可靠的传输

(3)TCP主要有三个步骤实现可靠传输:

三次握手建立连接,传输数据进行确认,四次挥手断开连接。

http://www.xdnf.cn/news/103303.html

相关文章:

  • 文档构建:Sphinx全面使用指南 — 强化篇
  • 常见基础电能
  • docker部署seafile修改默认端口并安装配置onlyoffice实现在线编辑
  • Shader CGInculde(六)
  • 关于日期的一些计算
  • 0-1背包的运算规则
  • 《重塑AI应用架构》系列: Serverless与MCP融合创新,构建AI应用全新智能中枢
  • (09)Vue脚手架的使用(Vite、vue-cli、create-vue)
  • 利用Python爬虫实现百度图片搜索的PNG图片下载
  • C++ 中 std::thread 的高级应用
  • [实战]zynq7000设备树自动导出GPIO
  • 基于 Spring Boot 瑞吉外卖系统开发(六)
  • ElasticSearch深入解析(三):Elasticsearch 7的安装与配置、Kibana安装
  • spark和Hadoop之间的对比与联系
  • 确保电力作业安全:安全工器具的检查与使用指南
  • 比较:AWS VPC peering与 AWS Transit Gateway
  • 云原生后端架构:重塑后端开发的新范式
  • Linux服务器:在ufw防火墙设置这套规则sudo ufw allow from 172.0.0.0/8,为什么容器就可以访问宿主机的服务了?
  • ReAct Agent 实战:基于DeepSeek从0到1实现大模型Agent的探索模式
  • leetcode-哈希表
  • 容器修仙传 我的灵根是Pod 第8章 护山大阵(DaemonSet)
  • React-实现切换tab高亮显示和排序
  • 【Python爬虫详解】第四篇:使用解析库提取网页数据——BeautifuSoup
  • 240423 leetcode exercises
  • 【Java】HQL查询初步
  • AI健康小屋:解锁健康管理新密码
  • node.js 实战——(概念以及Buffer 知识点学习)
  • AndroidAutomotive模块介绍(四)VehicleHal介绍
  • Minio Linux 安装 systemctl启动配置
  • “信号魔方”大扭转RS232 瞬变 PROFINET 激活交通脉络