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

网络编程学习

目录

  • 网络通信三要素
    • IP地址
    • 端口号
    • 协议
      • UDP协议
      • TCP协议

什么是网络编程?

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

基本的通信架构

基本的通信架构有两种形式:CS架构(Client客户端/Server服务端),BS架构(Browser浏览器/Server服务端)
在这里插入图片描述

在这里插入图片描述

网络通信三要素

IP地址

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

全称:Internet Protocol,互联网协议地址,是分配给上网设备的唯一标识

IP地址有两种形式:IPV4和IPV6

IP域名

公网IP、内网IP
公网IP:是可以连接互联网的IP地址;内网IP:也叫局域网IP,只能组织机构内部使用

192.168.开头的就是常见的局域网地址,范围即为192.168.0.0192.168.255.255,专门为组织机构内部使用

特殊IP地址
127.0.0.1或localhost:代表本机IP,只会寻找当前所在的主机

InetAddress代表IP地址

InetAddress的常用方法如下

在这里插入图片描述

端口号

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

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

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

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

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

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

协议

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

网络上通信的设备,事先规定的连接规则,以及传输数据的规则被称为网络通信协议

传输层的两个通信协议
UDP(User Datagram Protocol):用户数据报协议
TCP(Transmission Control Protocol):传输控制协议

UDP协议

无连接,不可靠通信

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

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

通信效率高
语音通话,视频直播

TCP协议

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

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

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

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

三次握手建立可靠连接:
客户端发出连接请求(确定客户端发消息没问题)
服务器端返回一个响应(确定服务器端收发消息没问题)
客户端再次发出确认信息,连接建立(确定客户端收消息没问题)

四次挥手断开连接
目的:确保双方数据的收发都已经完成

客户端发出断开连接请求
服务器端返回一个响应:稍等
服务器端将最后的数据处理完毕,返回一个响应:确认断开
客户端发出正式确认断开连接

通信效率相对不高
网页、文件下载、支付

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

相关文章:

  • UE5保姆级新手教程第六章(角色互动)
  • python的异步、并发开发
  • 关于项目的一些完善功能
  • C语言:函数指针、二级指针、常量指针常量、野指针
  • 基于deepseek的事件穿透分析-风险传导图谱
  • Linux系统编程Day1-- 免费云服务器获取以及登录操作
  • 分层解耦(Controller,Service,Dao)
  • [Agent开发平台] API网关 | 业务领域 | DTO格式 | 分页令牌
  • 当人生低谷无人帮助时,如何独自奏响人生乐章
  • Abaqus2022下载与保姆级安装教程!!
  • 人工智能通信协议三种协议:MCP协议、A2A协议、AG-UI协议是什么
  • spark入门-helloword
  • CMS框架GetShell
  • 自动驾驶车辆的敏捷安全档案
  • 使用HaiSnap做了一款取件码App(一键生成)
  • 力扣热题100---------35.搜索插入为位置
  • 查询账户余额
  • 9.项目起步(3)
  • Scala实现常用排序算法
  • 第十二天:C++ 标准库函数分类总结
  • 【AI】开源项目整理
  • [Python] -进阶理解10- 用 Python 实现简易爬虫框架
  • 【同济大学】双速率自动驾驶架构LeAD:端到端+LLM,CARLA实测93%路线完成率,性能SOTA!
  • 基于 Hadoop 生态圈的数据仓库实践 —— OLAP 与数据可视化(四)
  • 机器学习之线性回归的入门学习
  • 语音识别dolphin 学习笔记
  • Linux 日志管理与时钟同步
  • 51单片机入门:数码管原理介绍及C代码实现
  • python快速复习篇(一)
  • Mysql事务基础