01.网络编程-基础概念

        网络编程就是指编写互联网项目,项目可以通过网络传输数据进行通讯

        网络编程最主要的工作就是在发送端把信息通过规定好的协议进行组装包,在接收端按照规定好的协议把包进行解析,从而提取出对应的信息,达到通信的目的

1.1 软件结构

1.1.1 C/S结构 

        全称为Client/Server结构,是指客户端和服务器结构(QQ、迅雷等软件)

1.1.2 B/S结构

        全称为Browser/Server结构,是指浏览器和服务器结构(谷歌、火狐)

        两种架构各有优势,但是无论哪种架构,都离不开网络的支持。网络编程就是在一定的协议下,实现两台计算机的通信的程序。

1.2 网络编程三要素

        通过ip地址找到主机,通过端口号找到对应程序

1.2.1 IP地址

        IP地址是IP协议提供的一种统一的地址格式,它为互联网上的每一个网络和每一台主机分配一个逻辑地址,以此来屏蔽物理地址的差异,主要的作用是在网络通讯时用来找到指定的网络设备

        目前有两种IP地址,IPv4与IPv6

1.2.1.1 常用命令

        查看本机IP地址,在控制台输入

ipconfig

        检查网络是否连通,在控制台输入

ping 空格 IP地址
ping 220.181.57.216

1.2.1.2 特殊的IP地址

        本机IP地址:127.0.0.1localhost

1.2.2 端口号

        客户端可以通过ip地址找到对应的服务器端,但是服务器端是有很多端口的,每个应用程序对应一个端口号,通过端口号,客户端才能真正的访问到该服务器,端口号范围是从0 到65535

        其中,0~1023之间的端口号用于一些知名的网络服务和应用,普通的应用程序需要使用1024以上的端口号

常见端口号:
服务默认端口号
HTTP80
HTTPS443
开发服务器8080
MySQL数据库3306
SSH(Secure Shell)22

1.2.3 网络协议

        网络协议为计算机网络中进行数据交换而建立的规则、标准或约定的集合

1.3 网络协议

1.3.1 OSI七层模型

1.3.2 TCP/IP五层模型

         是Internet最基本、最广泛的协议。它定义了计算机如何连入因特网,以及数据如何在它们之间传输的标准。它的内部包含一系列的用于处理数据通信的协议,并采用了5层的分层模型,每一层都呼叫它的下一层所提供的协议来完成自己的需求。

1.3.3 TCP/UDP协议

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

掌握GDB调试工具,轻松排除bug!

一、什么是GDB gdb是GNU debugger的缩写,是编程调试工具。 GDB官网: https://www.gnu.org/software/gdb/GDB适用的编程语言: Ada / C / C / objective-c / Pascal 等。GDB的工作方式: 本地调试和远程调试。 目前release的最新版…

PG系列4:linux下编译安装PG15

文章目录 一. 源码安装1.1 下载并解压1.2 安装依赖包1.3 开始编译安装1.4 创建用户1.5 创建目录及修改权限1.6 设置环境变量1.7 初始化数据库1.8 启动和关闭数据库 二. 验证2.1 查看数据库后台进程2.2 验证和登陆数据库2.3 查看数据库版本2.4 查看数据库运行状态2.5 修改白名单…

Docker 安装 Redis

一、官方推荐安装方式: 1、执行 docker pull redis:4.0.1 命令,下载 redis 镜像,如下所示: 2、执行命令,创建并启动 redis 容器 docker run --rm -d --name redis6379 -p 6379:6379 redis:4.0.1 --requirepass "…

【QT】如何自定义QMessageBox的窗口大小,通过继承QDialog重新实现美观的弹窗

目录 1. QMessageBox原有的弹窗2. 网上第一种方法:通过样式表setStyleSheet实现改变弹窗大小(总体不美观)3. 网上第二种方法:重写ShowEvent()改变弹窗大小(总体也不美观)4. 最好的办法:继承QDia…

webstorm2022 TS1109: Expression expected.

在使用webstorm2022,加入ESLint(已禁用)的情况下,编写vue3的typescript代码时,报错: TS1109: Expression expected. 原因:2022版本不支持volar,需升级到2023版本。 官方描述为&am…

IAM风险CTF挑战赛

wiz启动了一个名为“The Big IAM Challenge”云安全CTF挑战赛。旨在让白帽子识别和利用 IAM错误配置,并从现实场景中学习,从而更好的认识和了解IAM相关的风险。比赛包括6个场景,每个场景都专注于各种AWS服务中常见的IAM配置错误。 Challenge…

Linux下vim的常见命令操作(快速复查)

目录 前言1、Vim常用操作1.1、环境参数1.2、方向1.3、插入命令1.4、定位命令1.5、删除命令1.6、复制和剪切命令1.7、替换和取消命令1.8、搜索和搜索替换命令1.9、保存和退出命令1.10、其他命令1.11、可视模式 前言 本篇文章不面向新手,全文几乎都是命令,…

使用python编程数学建模-常见excel数据使用python以行的方式按需读取

读取原始数据 首先导入pandas库   接着使用pandas库里面的read_csv方法来读取我们的文件,由于数据文件和程序文件是在统一目录下,因此无需使用绝对路径 import pandas as pd data1 pd.read_csv("data1.csv")读取数据的前20行数据 这里我们…

Java Web HTMLCSS(1)23.6.29

HTML&CSS 1,HTML 1.1 介绍 HTML 是一门语言,所有的网页都是用HTML 这门语言编写出来的,也就是HTML是用来写网页的,像京东,12306等网站有很多网页。 这些都是网页展示出来的效果。而HTML也有专业的解释 HTML(Hy…

【软件测试】Java+selenium环境搭建

目录 1.下载Chrome浏览器,查看浏览器的版本 2.根据浏览器版本下载驱动 根据电脑版本下载驱动: 3.去maven仓库寻找selenium驱动 4.在idea中创建一个项目 1.在pom.xml中添加依赖 2.点击右侧刷新按钮 3.在Java下创建一个类Main 4.将以下代码写入 5.…

Redis【Redis数据类型(String、List、Set、Hash 、Zset)】(二)-全面详解(学习总结---从入门到深化)

目录 Redis数据类型_String set get append strlen setex setnx getrange setrange incr decr incrby/decrby key step mset mget getset Redis数据类型_List lrange lpop/rpop lindex llen lrem linsert lset Redis数据类型_Set smembers sism…

【并发编程】Java的Future机制详解(Future接口和FutureTask类)

目录 一、彻底理解Java的Future模式 二、为什么出现Future机制 2.1 Future 类有什么用? 三、Future的相关类图 2.1 Future 接口 2.2 FutureTask 类 五、FutureTask源码分析 5.1 state字段 5.2 其他变量 5.3 CAS工具初始化 5.4 构造函数 5.5 jdk1.8和之前…