网络编程-java基础

news2024/12/23 12:25:43

两台电脑之间的通信形成了网络

最小的网络:局域网  校园网(局域网)  城域网(一个市) 广域网(全球)

为什么我发QQ你能收到,这是因为我发的消息实际上是发给了QQ服务器,并不是直接发给你的,

我是与QQ服务器进行通信的,QQ服务器做的事就是把我发的消息再分发给大家,那么网络编程而言需要通过硬件和软件两部分组成,比如说5G需要建立基站,5G基站分发信号,一定需要硬件设施的支持的 ,怎么发信号,比如说我的电脑,其中的网卡就是用来发送信号,这些而言我们作为程序员而言可能不太懂,原因是因为网络进行了分层操作,把每一层都进行了屏蔽,OSI参考模型模型分成了7层,TCP/IP参考模型分成了4层

OSI参考模型
7应用层
6表示层
5会话层
4运输层
3网络层
2数据链络层
1物理层

程序员打交道:567层

TCP/IP参考模型

应用层

〔各种应用层协议如∶TEL.NET,FTP,SMTF等)
运输层〔TCP或DP )
网络层IP
网络接口层

记录一个现象:ip冲突 :两台机子的ip是一样的:就会导致无法判断传输对象

域名解析器:

域名解析器:(还有域名备案等等问题)

网卡

我们的电脑都有网卡,有无线网卡和有线网卡

当然还有以太网

面试题:我在浏览输入一个网址,底层做了什么事情

1.应用层先回发一个get请求(基于http协议或者https协议)

2.在经过传输层,基于TCP通信,增加TCP头,

3.再到网络层

最后到网卡那边:也就是网络访问层,添加以太网构造IP地址,通过物理链路层把信号发给对方,对方那边通过网卡接收信号,

客户端  服务器(important)

客户端和服务器之间的通信

TCP/IP协议

在Internet中TCP/IP协议是使用最为广泛的通讯协议。TCP/IP是英文Transmission ControlProtocol/Internet Protocol的缩写,意思是“传输控制协议/网际协议”
TCP/IP协议(定义了电子设备(比如计算机)如何连入因特网,以及数据如何在它们之间传输的标准):

Internet上不同系统之间互联的一组协议

为分散和不同类型的硬件提供通用的编程接口。
TCP/IP协议使Internet尽可能成为一个分散、无序的网络。
TCP是基于(面向)连接的协议(UTP是不可靠的),也就是说,在正式收发数据前,必须和对方建立可靠的连接。TCP协议建立连接需要三次会话(握手)

 

私网ip(局域网)与公网ip查询

下面这个是局域网的ip地址(ipv4地址)

ipv4地址:IP地址使用32位长度二进制数据表示,4个字节,每个字节用.来分开

ipV4: A.B.C.D 32位4部分,每一部分:1字节: 8位:0~255

ipv4:最多有256^4个这样的地址,所以会不够,所以ipv6就产生了

本机地址(电脑自动帮你配置了映射文件)

端口

是一个软件结构,被客户程序或服务程序用来发送和接收数据,一台服务器有256*256个端口
0-1023是公认端口号,即已经公认定义或为将要公认定义的软件保留的
1024-65535是并没有公共定义的端口号,用户可以自己定义这些端口的作用。
端口与协议有关:TCP和UDP的端口互不相干

http:80端口

https:默认端口:443
Mysql:默认端口3306
Tomcat:默认端口8080

 

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

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

相关文章

【C++】格式与实例化操作——[模板]详解(7)

前言 大家好吖,欢迎来到 YY 滴C系列 ,热烈欢迎! 本章主要内容面向接触过C的老铁 主要内容含: 欢迎订阅 YY滴C专栏!更多干货持续更新!以下是传送门! 目录 一. 模板参数与模板参数列表1)模板参数…

JS学习-CryptoJS加密库

CryptoJS加密库 安装库 npm install crypto-js如下例子 对称加密 const CryptoJS require(crypto-js); //引入加密库 var str"123456" //md5加密 console.log(CryptoJS.MD5(str).toString()) var str2 CryptoJS.enc.Utf8.parse(str); //可以把字符串转成UTF-…

数据结构数组 Array 手写实现,扩容原理

数组数据结构 数组(Array)是一种线性表数据结构。它用一组连续的内存空间,来存储一组具有相同类型数据的集合。 数组的特点: 数组是相同数据类型的元素集合(int 不能存放 double)数组中各元素的存储是有先…

Xcode14创建github远程仓库Token

1.点击Create a Token on GitHub 2.在打开的网页中,登陆GitHub 3.点击生成Token 这是不能为空 4.Token创建成功如下: 5.复制Token到Xcode然后点击Sign In登陆 正在创建远程我仓库 正在将本地仓库代码推入远程仓库 创建成功

method.isAnnotationPresent(Xxx.class)一直为null

​​​​package com.dj.springtest.aspect;import com.dj.springtest.annotation.RequireRoles; import lombok.extern.slf4j.Slf4j; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; import org.s…

Linux中的shell编程

shell编程 重定向 cat >temp 输入内容到temp文件中,如果存在temp则覆盖,没有则新建 cat >>temp 追加内容 cat temp1>>temp2 将temp1中的内容追加到temp 命令执行控制符号 ; 一个命令行执行多条语句 命令替换符 1.双引号&#…

【软考】12.1 范围管理/进度管理

《范围管理》 项目需求的范围边界工作分解结构(WBS):自上而下的分解结构 产品范围和项目范围 产品范围: a. 产品或服务应包含的功能 ——> 产品要求的描述 b. 判断是否完成:是否满足产品描述 项目范围:…

Hadoop3教程(三十二):(生产调优篇)NameNode故障恢复与集群的安全模式

文章目录 (159)NameNode故障处理(160)集群安全模式&磁盘修复集群安全模式磁盘修复等待安全模式 参考文献 (159)NameNode故障处理 如果NameNode进程挂了并且存储的数据也丢失了,如何恢复Nam…

基于nodejs+vue 中小学课程辅导系统

目 录 摘 要 I ABSTRACT II 目 录 II 第1章 绪论 1 1.1背景及意义 1 1.2 国内外研究概况 1 1.3 研究的内容 1 第2章 相关技术 3 2.1 nodejs简介 4 2.2 express框架介绍 6 2.4 MySQL数据库 4 第3章 系统分析 5 3.1 需求分析 5 3.2 系统可行性分析 5 3.2.1技术可行性:…

浏览器的渲染机制

渲染机制 浏览器的渲染机制一般分为以下几个步骤 处理 HTML 并构建 DOM 树。处理 CSS 构建 CSSOM 树。将 DOM 与 CSSOM 合并成一个渲染树。根据渲染树来布局,计算每个节点的位置。调用 GPU 绘制,合成图层,显示在屏幕上。 在构建 CSSOM 树时…

【模型推理优化学习笔记】张量并行和流水线并行简介

张量并行 当每个张量被分成多个块时,就会发生张量并行性,并且张量的每个块都可以放置在单独的 GPU 上。在计算过程中,每个块在不同的 GPU 上单独并行处理,并且可以通过组合来自多个 GPU 的结果来计算结果(最终张量&am…

React环境初始化

环境初始化 学习目标: 能够独立使用React脚手架创建一个React项目 1.使用脚手架创建项目 官方文档:(https://create-react-app.bootcss.com/)    - 打开命令行窗口    - 执行命令      npx create-react-app projectName    说明&#xff1a…

Linux:权限是什么

本篇文章来简单介绍一下Linux操作系统中权限的基本概念和一些操作方法,对Linux权限有一个基本的了解,希望对大家学习Linux有所帮助。 目录 1.权限的概念 2.Linux权限管理 2.1 文件访问者的分类 2.2 文件类型与访问权限(事物属性&#xff…

(未完待续)【Netty专题】Netty实战与核心组件详解

目录 前言阅读对象阅读导航前置知识课程内容一、Netty简介1.1 Netty是什么1.2 Netty有什么优势 二、第一个Netty程序2.1 Netty简单使用示例2.2 代码解读2.3 Netty的特性2.3.1 Netty的事件 2.4 Netty线程模型 三、Netty核心组件详解(未完待续)3.1 EventLo…

learn C++ NO.11——string类模拟实现

前言 本篇文章主要是讲string类的模拟实现,模拟实现的是string类的常用接口以及成员函数。让读者对string类有更深的理解。适当的“造轮子”,有助于我们的语言学习。 简单描述string类 string类其实就是一个管理字符数组的线性表,我们可以…

常见面试题-Redis专栏(二)

theme: cyanosis typora-copy-images-to: imgsRedisson 分布式锁?在项目中哪里使用?多久会进行释放?如何加强一个分布式锁? 答: 首先入门级别的分布式锁是通过 setnx 进行实现,使用 setnx 实现有四个注意…

6.MySQL内置函数

个人主页:Lei宝啊 愿所有美好如期而遇 日期函数 current_date() 当前日期 select 可以做表达式和函数的计算。 current_time() 当前时间 current_timestamp() 当前日期加时间 注意:值得说明的是这三个函数底层调用的都是同一个函数,只不…

C语言关键字

关键字作用 关键字是 C 语言中预先保留的单词 C语言关键字 注意:在定义变量或者常量的时候,不要使用关键字

设计模式:组合模式(C#、JAVA、JavaScript、C++、Python、Go、PHP)

简介: 组合模式,它是一种用于处理树形结构、表示“部分-整体”层次结构的设计模式。它允许你将对象组合成树形结构,以表示部分和整体的关系。这种模式的主要目的是简化客户端代码,并使客户端以一致的方式处理单个对象和组合对象。…

数字图像处理实验记录五(图像的空间域增强-锐化处理)

前言: 文章目录 一、基础知识1,什么是锐化?2,为什么要锐化?3,怎么进行锐化? 二、实验要求任务1:任务2:任务3: 三、实验记录:任务1:任…