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

网络编程(现在不重要)

目录

网络编程三要素与InetAddress类的使用

 软件架构

 面临的主要问题

 网络编程三要素(对应三个问题)

InetAddress的使用

TCP与UDP协议剖析与TCP编程案例(了解)

TCP协议

UDP协议

 例子

UDP、URL网络编程

URL:(Uniform Resource Location):统一资源定位符

 想说的话


网络编程三要素与InetAddress类的使用

 软件架构

  • C/S架构:全称Client/Server结构,(客户端)
  • B/S架构:全称Browser/Server结构,(浏览器)

 面临的主要问题

  • 问题1:如何准地定位网络上一台或多台主机
  • 问题2:如何定位主机上的特定的应用
  • 问题3:找到主机后,如何可靠、高效地进行数据传输

 网络编程三要素(对应三个问题)

  • 要素1:IP地址
    • 作用:IP地址用来给网络中的一台计算机设备做唯一的编号
    • 分类:
      • 分类方式1:IPv4(占用4个字节)和IPv6(占用16个字节)
      • 分类方式2:公网地址(万维网使用)和私有地址(局域网使用,以192.168开头)
    • 本地回路地址:127.0.0.1
    • 域名:便捷的记录ip地址:比如: www.bilibili.com等
  • 要素2:端口号
    • 可以唯一的标识主机中的进程(应用程序)
    • 不同的进程分配不同的端口号
    • 范围:0~65535
  • 要素3:通信协议
    • 目的:为了实现可靠而高效的数据传输
    • 网络参考模型
      • OSI参考模型:将网络分为7层,过于理想化,没有实施起来
      • TCP/IP参考模型:将网络分为4层:应用层、传输层、网络层、物理+数据链路层。事实上使用的标准
  • 总结
    • 使用IP地址(准地定位网络上一台或多台主机)
    • 使用端口号(定位主机上的特定的应用)
    • 规范网络通信协议(可靠、高效地进行数据传输)

InetAddress的使用

  • 作用:InetAddress类的一个实例就代表一个具体的ip地址
  • 实例化的方式

    • getByName( ):获取指定IP对应的InetAddress的实例
    • getL ocalHost ( ):获取本地IP对应的InetAddress的实例
  • 两个常用方法:getHostAddress()/getHostName

TCP与UDP协议剖析与TCP编程案例(了解)

TCP协议

  • 进行通信的两个进程:客户端和服务端
  • 使用TCP协议前,必须先建立TCP连接,形成基于字节流的传输数据通道
  • 传输前:“三次握手”,是可靠的。(还有重发机制)
  • 在连接中可进行大数据量的传输
  • 传输完毕,需释放已建立的连接,效率低
  • 例子:打电话
  • 有三次握手,四次挥手(都是用来建立连接的)

UDP协议

  • 进行通信的两个进程:发送端和接收端
  • 不需要建立连接
  • 是不可靠的
  • 每个数据报大小限制在64k以内
  • 发送数据结束时:无需释放资源,开销小,通信效率高
  • 例子:发短信

 例子

    Socket类:包括IP和端口号

  • 例子1:客户端发送内容给服务器,服务器将内容打印到控制台上

  • 例子2:客户端发送文件给服务端,服务端将文件保存本地
    • 客户端

      • 1.创建Socket(指明对方的IP地址和端口号 )
      • 2.创建File实例,FileInputStream的实例
      • 3.通过Socket,获取输出流
      • 4.关闭Socket和相关流
    • 服务端

      • 1.创建ServerSocket
      • 2.接受来自于客户端的socket:accept()
      • 3.通过Socket获取一个输入流
      • 4.创建File类实例,FileOutputStream的实例
      • 5.读写过程
      • 6.关闭相关的Socket和相关流
  • 例子3:客户端发送文件给服务端,服务端将文件保存本地,并返回“发送成功”给客户端,并关闭相应的连接
    • 在例子2的基础上

UDP、URL网络编程

 UDP不用当作重点

URL:(Uniform Resource Location):统一资源定位符

作用:一个具体的url就对应着互联网上某一资源的地址

格式:

  • http://localhost:8080/examples/abcd.jpg——>“万事万物皆对象”
  • 应用层协议 IP地址 端口号 资源地址

URL类的实例化和常用方方法

 想说的话

        本章所有内容在先学习阶段都不是特别重要(除了URL),所以不用担心不理解,了解一遍即可。

相关文章:

网络编程(现在不重要)

目录 网络编程三要素与InetAddress类的使用 软件架构 面临的主要问题 网络编程三要素(对应三个问题) InetAddress的使用 TCP与UDP协议剖析与TCP编程案例(了解) TCP协议 UDP协议 例子 UDP、URL网络编程 URL:&…...

10-菜刀连接木马

找到了漏洞后,并且上传了木马之后才能使用的两款工具 中国菜刀和冰蝎 想办法获取别人的cookie,cookie中有session-id 一、中国菜刀 1、必须提前已经完成木马植入然后才能使用 2、木马必须是POST请求,参数自定义,在菜刀里给出…...

Unity数据持久化—Json存档

项目需求为: 1.实现存档列表,显示存档截图,可以查看之前保存的所有存档 2.点击存档直接加载到场景 首先,定义两个类,用于声明存档列表和存档所需要的List [System.Serializable] public class SaveData {//存储目标…...

基于SSM的在线学习系统的设计与实现(论文+源码)_kaic

基于SSM的在线学习系统的设计与实现 摘要 随着信息互联网购物的飞速发展,一般企业都去创建属于自己的管理系统。本文介绍了在线学习系统的开发全过程。通过分析企业对于在线学习系统的需求,创建了一个计算机管理在线学习系统的方案。文章介绍了在线学习系…...

数据库SQL语言实战(二)

目录 检索查询 题目一 题目二 题目三 题目四 题目五 题目六 题目七 题目八 题目九(本篇最难的题目) 分析 实现(两种方式) 模板 总结 检索查询 按照要求查找数据库中的数据 题目一 找出没有选修任何课程的学…...

idea错误地commit后如何处理

如果你想使用命令行重新初始化 Git 仓库,可以按照以下步骤进行: 删除该项目的.git文件夹 打开命令行终端。 切换到项目所在的目录,使用 cd 命令。 在项目目录下运行以下命令来重新初始化 Git 仓库 git init这将在当前目录下创建一个新的 Git …...

VRTK(Virtual Reality Toolkit)深入介绍

VRTK是一个为Unity引擎设计的开源虚拟现实(VR)开发框架,旨在简化和加速VR应用的开发过程。这个工具包包含了一系列的模块和预设,使得开发者可以快速集成标准的VR功能,如物体交互、环境导航、用户界面管理等。下面将对V…...

【LeetCode热题100】【贪心算法】划分字母区间

题目链接:763. 划分字母区间 - 力扣(LeetCode) 要将一个字符串划分为多个子串,要求每个字母只能出现在一个子串里面 如果一个字母的当前位置是它在这个字符串里面最后一次出现的位置,那么这里就应该划分出来成为子串…...

第二届数据安全大赛暨首届“数信杯”数据安全大赛数据安全积分争夺赛-东区预赛部分WP

这里写目录标题 检材下载:1.理论题2.数据安全:pb:Sepack: 3.数据分析:数据分析(1)数据分析1-1:数据分析1-2:数据分析1-3: 数据分析(3)数据分析3-1:数据分析3-2&#xff1…...

如何在Python中使用matplotlib库进行数据可视化?

如何在Python中使用matplotlib库进行数据可视化? 在Python中使用matplotlib库进行数据可视化 数据可视化是将数据以图形或图像的形式展示出来的过程,它有助于我们更好地理解和分析数据。在Python中,matplotlib是一个非常受欢迎的数据可视化…...

网工基础协议——TCP/UDP协议

TCP和UDP的不同点: TCP(Transmission Control Protocol,传输控制协议); UDP(User Data Protocol,用户数据报协议); TCP:传输控制协议,面向连接可靠的协议,只能适用于单播通信&…...

ClickHouse--16--普通函数

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 一、日期函数1、时间或日期截取函数(返回非日期)2、时间或日期截取函数(返回日期)3、日期或时间日期生成函数 二、类…...

03-JAVA设计模式-组合模式

组合模式 什么是组合模式 组合模式(Composite Pattern)允许你将对象组合成树形结构以表示“部分-整体”的层次结构,使得客户端以统一的方式处理单个对象和对象的组合。组合模式让你可以将对象组合成树形结构,并且能像单独对象一…...

C++发票识别、发票查验接口示例,您的“发票管理专家”

发票识别发票查验接口。当财务人员在进行发票的数字化管理时,仅需一键上传发票图片,翔云发票识别接口即可快速、精准对发票的全票面信息进行提取,翔云发票查验接口可根据识别接口提取的发票信息实时联网进行真伪查验。助财务工作者从发票海洋…...

【电控笔记6.2】拉式转换与转移函数

概要 laplace:单输入单输出,线性系统 laplace 传递函数 总结...

第十五届蓝桥杯题解-数字接龙

题意:经过所有格子,并且不能进行交叉,走的下一个格子必须是当前格子值1%k,输出路径最小的那一条(有8个方向,一会粘图) 思路:按照8个方向设置偏移量进行dfs,第一个到达终…...

【vue】绑定事件 v-on

v-on 简写&#xff1a; clickkeyupkeydownkeyup.wkeyup.ctrl.a <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><…...

【应用】SpringBoot-自动配置原理

前言 本文简要介绍SpringBoot的自动配置原理。 本文讲述的SpringBoot版本为&#xff1a;3.1.2。 前置知识 在看原理介绍之前&#xff0c;需要知道Import注解的作用&#xff1a; 可以导入Configuration注解的配置类、声明Bean注解的bean方法&#xff1b;可以导入ImportSele…...

中文编程入门(Lua5.4.6中文版)第十二章 Lua 协程 参考《愿神》游戏

在《愿神》的提瓦特大陆上&#xff0c;每一位冒险者都拥有自己的独特力量——“神之眼”&#xff0c;他们借助元素之力探索广袤的世界&#xff0c;解决谜题&#xff0c;战胜敌人。而在提瓦特的科技树中&#xff0c;存在着一项名为“协同程序”的高级秘术&#xff0c;它使冒险者…...

C++笔记之注册回调函数常见的5种情况对比

C++笔记之注册回调函数常见的5种情况对比 —— 2024-04-10 code review! 文章目录 C++笔记之注册回调函数常见的5种情况对比1.五种情况2.示例2.1. `RegisterCallback` 和 `Callback` 都是普通函数2.2. `RegisterCallback` 是成员函数,`Callback` 是普通函数2.3. `RegisterC…...

人工智能揭示矩阵乘法的新可能性

人工智能揭示矩阵乘法的新可能性 数学家酷爱漂亮的谜题。当你尝试找到最有效的方法时&#xff0c;即使像乘法矩阵&#xff08;二维数字表&#xff09;这样抽象的东西也会感觉像玩一场游戏。这有点像尝试用尽可能少的步骤解开魔方——具有挑战性&#xff0c;但也很诱人。除了魔方…...

实在智能携手长江新零售俱乐部:探秘实在Agent数字员工,开启零售品牌增长新篇章

近日&#xff0c;实在智能携手长江新零售俱乐部成功举办了“AIGC&#xff1a;数字员工助力零售品牌新增长”主题活动&#xff0c;成功吸引了二十余家企业中高层管理精英的踊跃参与。在此次活动中&#xff0c;与会者围绕零售业数字化转型的当前态势、面临的挑战及其重要性进行了…...

计算机科学与导论 第十七 十八章 计算理论,人工智能

文章预览&#xff1a; 计算理论17.1 引言17.2 简单语言17.3 图灵机邱奇 -图灵 论题 人工智能引言18.1.1 什么是人工智能18.1.2 智能体18.1.3 编程语言 18.2 知识的表示18.2.1 语义网18.2.2 框架18.2.3 谓词逻辑18.2.4 基于规则的系统 18.2 专家系统18.3 语言理解18.4 搜索18.5 …...

linux 设置定时任务---学习

1、设置定时任务 crontab -e 设置格式参考&#xff1a;【Linux】Linux crontab 命令定时任务设置_crontab 设置每天10:30执行-CSDN博客 测试过程&#xff1a; */1 * * * * /root/cronjob.sh 脚本内容: echo "hell0 cronjob" >> /root/test/hello.txt 实现…...

钡铼IOy系列模块深挖工业场景需求提供丰富多样的I/O解决方案

钡铼IOy系列模块以其灵活性和多样性&#xff0c;在工业场景中提供了丰富多样的I/O解决方案&#xff0c;满足了不同行业、不同应用场景的需求。以下是一些常见的工业场景需求及钡铼IOy系列模块提供的解决方案&#xff1a; 1. 工厂自动化 需求&#xff1a;工厂自动化需要对生产线…...

【刷题笔记】第三天

两道简单题 文章目录 [2923. 找到冠军 I](https://leetcode.cn/problems/find-champion-i/description/)[3095. 或值至少 K 的最短子数组 I](https://leetcode.cn/problems/shortest-subarray-with-or-at-least-k-i/description/) 2923. 找到冠军 I 方法1&#xff1a; 如果 i …...

开源模型应用落地-LangChain试炼-CPU调用QWen1.5(一)

一、前言 尽管现在的大语言模型已经非常强大&#xff0c;可以解决许多问题&#xff0c;但在处理复杂情况时&#xff0c;仍然需要进行多个步骤或整合不同的流程才能达到最终的目标。然而&#xff0c;现在可以利用langchain来使得模型的应用变得更加直接和简单。 通过langchain框…...

STM32-模数转化器

ADC(Analog-to-Digital Converter) 指模数转换器。是指将连续变化的模拟信号转换 为离散的数字信号的器件。 ADC相关参数说明&#xff1a; 分辨率&#xff1a; 分辨率以二进制&#xff08;或十进制&#xff09;数的位数来表示&#xff0c;一般有 8 位、10 位、12 位、16 位…...

算法刷题记录2

4.图 4.1.被围绕的区域 思路&#xff1a;图中只有与边界上联通的O才不算是被X包围。因此本题就是从边界上的O开始递归&#xff0c;找与边界O联通的O&#xff0c;并标记为#&#xff08;代表已遍历&#xff09;&#xff0c;最后图中剩下的O就是&#xff1a;被X包围的O。图中所有…...

中国代工巨头旗下芯片公司遭网络攻击,千兆字节数据被泄露

近日&#xff0c;中国智能手机代工巨头闻泰科技旗下荷兰芯片制造商Nexperia发布声明&#xff0c;称其遭遇网络攻击&#xff0c;有未经授权的第三方访问了公司的 IT 服务器&#xff0c;目前已向相关部门报告了此次事件&#xff0c;并与网络安全专家合作开启调查。而据相关消息&a…...

域名制作网站吗/大数据营销经典案例

支持自定义头像&#xff0c;用记事本写完蹦出来40个错误然后一点点解决真真是找虐&#xff0c;该用Eclipse了。 java写界面真真是能让人疯掉、、<span style"font-size:18px;">import java.io.File ; import java.awt.event.ActionListener ; import java.awt.…...

网站规划和建设的步骤/互联网营销是什么意思

有一些渠道包需要先导eclipse&#xff0c;eclipse会压缩资源&#xff0c;但如果打的资源包本来就是压缩过&#xff0c;只能将包体缩小一点点&#xff0c;没多大用处&#xff0c; 使用AssetBundle.LoadFromFile加载资源时很慢&#xff0c;进入游戏加载资源比较多&#xff0c;一卡…...

博客网站开发环境/seo教程下载

题目描述 如图&#xff0c;A 点有一个过河卒&#xff0c;需要走到目标 B 点。卒行走规则&#xff1a;可以向下、或者向右。同时在棋盘上的 C 点有一个对方的马&#xff0c;该马所在的点和所有跳跃一步可达的点称为对方马的控制点。 例如上图 C 点上的马可以控制 99 个点&#…...

网站 关键词 多少个/东莞搜索引擎推广

一、概念 定时计划任务功能在Java中主要使用的就是Timer对象&#xff0c;它在内部使用多线程的方式进行处理&#xff0c;所以它和多线程技术还是有非常大的关联的。在JDK中Timer类主要负责计划任务的功能&#xff0c;也就是在指定的时间开始执行某一个任务&#xff0c;但封装任…...

html5做的网站有哪些/百度推广一年收费标准

C11并发之std::thread 参考网址&#xff1a;https://blog.csdn.net/liuker888/article/details/46848905本文概要&#xff1a;1、成员类型和成员函数。2、std::thread 构造函数。3、异步。4、多线程传递参数。5、join、detach。6、获取CPU核心个数。7、CPP原子变量与线程安全。…...

dw做网站有哪些用处/武汉网站推广公司

早就看过这篇文章&#xff0c;觉得还可以&#xff0c;今天稍加整理后传上来了。原文来自http://www.huihoo.com/gnu/c_study_doc.html。 /Files/froster/C语言概述.rar 转载于:https://www.cnblogs.com/froster/archive/2005/04/01/130085.html...