Qt开发————网络编程

news2024/12/23 1:26:31

目录

Socket套接字

IP地址

端口号

IP地址与端口号的组合

MAC地址的特征

MAC地址的作用

重要性

例子

TCP/UDP协议

TCP

UDP


网络编程1.0-----网络与通信介绍_计算机网络与通信网络csdn-CSDN博客

Socket套接字

IP地址

IP地址(Internet Protocol Address)是用于标识网络中设备的唯一地址。它可以分为两种主要版本:

  1. IPv4

    • 格式为四个十进制数,每个数之间用点分隔,如 192.168.1.1
    • 每个数字的范围是0到255,因此IPv4地址总共有约42亿个不同的地址(2^32)。
  2. IPv6

    • 为了应对IPv4地址耗尽的问题,IPv6应运而生,格式为八组十六进制数,每组之间用冒号分隔,如 2001:0db8:85a3:0000:0000:8a2e:0370:7334
    • IPv6提供了更大规模的地址空间,支持更多的设备。

端口号

端口号是一个16位的数字,用于标识网络设备上运行的特定应用程序或服务。它的范围是0到65535。端口号分为以下几类:

  1. 公用端口(Well-known ports)

    • 范围从0到1023。这些端口通常被标准服务占用,如:
      • HTTP使用端口80
      • HTTPS使用端口443
      • FTP使用端口21
  2. 注册端口(Registered ports)

    • 范围从1024到49151。这些端口可以被用户或应用程序注册使用,通常不如公用端口常用。
  3. 动态或私有端口(Dynamic or private ports)

    • 范围从49152到65535。这些端口通常由操作系统动态分配给应用程序,供临时使用。

IP地址与端口号的组合

在网络通信中,IP地址和端口号组合在一起形成一个套接字(socket),例如:

192.168.1.1:80

这表示在IP地址为192.168.1.1的设备上,HTTP服务运行在80号端口。

MAC地址(Media Access Control Address)是用于在局域网(LAN)中唯一标识网络接口设备的地址。它是在网络设备的硬件层面(如网卡)进行通信时使用的。

MAC地址的特征

  1. 格式

    • MAC地址通常由六组两位十六进制数构成,每组之间用冒号(:)或短横线(-)分隔,例如:
      • 00:1A:2B:3C:4D:5E
      • 00-1A-2B-3C-4D-5E
    • 每组的值范围从00到FF(即0到255)。
  2. 长度

    • MAC地址长度为48位(6个字节)。
  3. 唯一性

    • 每个网络接口控制器(NIC)在生产时由制造商分配一个唯一的MAC地址,确保在同一网络中不会出现重复。
  4. 分类

    • 全球唯一:MAC地址是全球唯一的,保证了每个设备在网络中的唯一性。
    • 前缀:MAC地址的前24位(3个字节)通常是厂商唯一标识符(OUI),由IEEE分配给设备制造商,后面的24位由厂商自行分配给各个设备。

MAC地址的作用

  1. 局域网内的通信

    • MAC地址用于局域网中的设备之间的通信,确保数据包能够被正确地发送到目标设备。
  2. 数据链路层

    • MAC地址工作在OSI模型的第二层(数据链路层),主要用于以太网、Wi-Fi等技术中。
  3. ARP协议

    • 地址解析协议(ARP)用于将网络层的IP地址转换为数据链路层的MAC地址,以便在局域网内进行通信。

重要性

  • 网络管理:通过MAC地址,网络管理员可以识别和管理网络上的设备,包括监控流量、限制访问等。
  • 安全性:MAC地址过滤可以用来增强网络安全,通过允许或阻止特定MAC地址的设备访问网络。

例子

在局域网中,当一个计算机想要发送数据到另一台计算机时,它需要知道目标计算机的MAC地址。设备会通过ARP请求询问网络中的设备以找到目标IP地址对应的MAC地址,然后使用这个MAC地址将数据包发送到目标设备。

TCP/UDP协议

TCP

流套接字 : 使用传输层 TCP 协议
TCP协议,(Transmission Control Protocol)
TCP的特点:

有连接
可靠传输
面向字节流
有接收缓冲区,也有发送缓冲区
大小不限
全双工

 

UDP

数据报接字 : 使用传输层 UDP 协议
UDP协议,(User Datagram Protocl)
UDP的特点:

无连接
不可靠传输
面向数据报
有接收缓冲区,无发送缓冲区
大小受限: 一次最多传输64k
全双工

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2229432.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Spring Cloud Sleuth(Micrometer Tracing +Zipkin)

分布式链路追踪 分布式链路追踪技术要解决的问题,分布式链路追踪(Distributed Tracing),就是将一次分布式请求还原成调用链路,进行日志记录,性能监控并将一次分布式请求的调用情况集中展示。比如各个服务节…

ARM base instruction -- bic

Bitwise Bit Clear (shifted register) performs a bitwise AND of a register value and the complement of an optionally-shifted register value, and writes the result to the destination register. 位清除(移位寄存器)执行寄存器值与可选移位寄存…

【动手学运动规划】 3.3 确定性采样:基于控制空间采样

要往前走,就得先忘掉过去。 —《阿甘正传》 🏰代码及环境配置:请参考 环境配置和代码运行! 确定性采样运动规划是一种采用确定性采样策略进行运动规划的方法。它通过按照预定规则生成采样点来构建解空间,并用于后续的路径搜索或…

深入理解Java虚拟机(五)

介绍对象的标记算法及引用详解 1、引用计数器 引用计数器在对象中添加一个引用计数器,当一个地方引用的时候,计数器1,当引用失效时,计数器值就-1。 但是在Java里面存在对象循环引用:objA 和 objB都有字段instance&a…

Javaee:阻塞队列和生产者消费者模型

文章目录 什么是阻塞队列java中的主要阻塞队列生产者消费者模型阻塞队列发挥的作用解耦合削峰填谷 模拟实现阻塞队列put方法take方法生产者消费者模型 什么是阻塞队列 阻塞队列是一种支持阻塞操作的队列,在多线程中实现通线程之间的通信协调的特殊队列 java中的主…

git仓库分支

操作 切换分支 git checkout 1.2.5 git checkout 1.3.0 使用命令切换分支之后,代码内容加载过后也是切换好的

安卓基础001

前言 也是好久没有更新博客了,最近实习也是需要学习一些知识哈哈哈哈哈哈为了更好的发展嘛,咱们从客户端开始,过程可能有点像写前端,不喜勿喷,希望在学习的过程中也可以给大家带来一些简单得帮助吧....... tips:这里跳过安卓studio安装,大家可自行寻找教程 写的不详细,只是为了…

使用web.dev提供的工具实现浏览器消息推送服务

文章目录 前言实现工具和效果实现原理实现过程前端接收用户订阅请求将用户订阅信息更新到后端后端实现接收并保存订阅信息的接口后端实现消息推送的逻辑前言 对于电商独立站来说,新品上架或者促销活动上线及时通知到用户是很重要的,通知的渠道有很多,其中就包括浏览器消息推…

在Bash脚本中 set -e 是什么意思

问题 我正在研究这个预安装(preinst)脚本的内容,该脚本会在从 Debian 软件包(.deb)文件解压该包之前执行。 脚本包含以下代码: #!/bin/bash set -e # Automatically added by dh_installinit if [ "$1" install ]; thenif [ -d /usr/share…

服务器宝塔安装哪吒监控

哪吒文档地址:https://nezha.wiki/guide/dashboard.html 一、准备工作 OAuth : 我使用的gitee,github偶尔无法访问,不是很方便。第一次用了极狐GitLab,没注意,结果是使用90天,90天后gg了,无法登…

JavaEE初阶---网络原理(四)--IP协议/DNS协议

文章目录 1.初识网络层(了解即可)2.地址管理2.1动态分配2.2网络地址转换2.3IP-v6最终解 3.网段划分4.以太网协议--数据链路层5.DNS应用层协议 1.初识网络层(了解即可) 网络层做的事情就是下面的两个: 1)地…

邮件发送excel带预览excel功能

excel 打开后的内容: 思路: 1、邮件发送excel 是作为附件发送出去的; 2、excel 预览是,必须另外点击预览按钮,并不能直接预览邮件内容然后在邮件主体内容展示出来 根据以上两点基本没法实现 邮件发送后邮件自带 预览功能。 伪方法…

Spring Boot 3 + Spring Security + Knife4j 无法访问 Swagger 文档的问题及解决方案

背景介绍 在使用Spring Boot 3框架结合Spring Security进行项目开发时,我们可能会遇到集成Knife4j后Swagger文档无法正常访问的情况。本文将探讨可能的原因以及相应的解决办法。 常见问题 问题描述 当配置好Spring Security后尝试通过Knife4j访问API文档页面时&…

构建校园社团信息管理平台:Spring Boot技术的核心要点

6系统测试 6.1概念和意义 测试的定义:程序测试是为了发现错误而执行程序的过程。测试(Testing)的任务与目的可以描述为: 目的:发现程序的错误; 任务:通过在计算机上执行程序,暴露程序中潜在的错误。 另一个…

Spring 框架中常见的注解(Spring、SpringMVC、SpringBoot)

1. Spring 中常见注解 还有Recourse:相当于AutowiredQualifier Value : 用于将配置文件中的值注入到Bean的字段中。 Bean : 用于在配置类中声明一个Bean。 Lazy : 用于延迟加载Bean。 2. SpringMVC 中常见注解 还有GetMapping PostMapping PutMapping DeleteMapp…

深度学习笔记之BERT(一)BERT的基本认识

深度学习笔记之BERT——BERT的基本认识 引言回顾:Transformer的策略回顾:Word2vec的策略和局限性 BERT \text{BERT} BERT的基本理念抽象的双向BERT的预训练策略 预训练与微调 引言 从本节开始,将介绍 BERT \text{BERT} BERT系列模型以及其常…

【华为HCIP实战课程二十八】中间到中间系统协议IS-IS邻居关系排错,网络工程师

一、ISIS邻居关系条件 1、同一层次(比如Level-2路由器不能和Level-1路由器形成邻居关系) 2、同一区域(L1必须同一区域) 3、同一网段 R1和R2之间分别配置如下IP地址和掩码: R1 的接口S1/0/0掩码为/24 R2的接口S1/0/0配置成掩码/28: 此时R1和R2依然可以建立ISIS邻居关系…

微信小程序,打开新的项目,调试遇见[ app.json 文件内容错误] app.json: 在项目根目录未找到 app.json

1,首先,在开发工具右上角,打开详情;设置基础库;3.6.3 2,第二步,在项目目录下,找到app.json文件存在 3,第三步,修改项目根目录下,project.config.j…

使用RabbitMQ实现微服务间的异步消息传递

使用RabbitMQ实现微服务间的异步消息传递 RabbitMQ简介 安装RabbitMQ 在Ubuntu上安装RabbitMQ 在CentOS上安装RabbitMQ 配置RabbitMQ 创建微服务 生产者服务 安装依赖 生产者代码 消费者服务 消费者代码 运行微服务 消息模式 直接模式 生产者代码 消费者代码 扇出模式 生产…

数字教学的创新引擎:构建数字教学知识库

在教育行业,数字化转型正成为推动教育现代化的重要力量。数字教学知识库作为这一转型的核心组成部分,对于整合教育资源、提升教学质量、促进教育公平具有重要意义。本文将探讨数字教学知识库的构建策略、应用价值,并分析其在教育行业的深远影…