当前位置: 首页 > 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…...

浅谈 React Hooks

React Hooks 是 React 16.8 引入的一组 API&#xff0c;用于在函数组件中使用 state 和其他 React 特性&#xff08;例如生命周期方法、context 等&#xff09;。Hooks 通过简洁的函数接口&#xff0c;解决了状态与 UI 的高度解耦&#xff0c;通过函数式编程范式实现更灵活 Rea…...

安宝特方案丨XRSOP人员作业标准化管理平台:AR智慧点检验收套件

在选煤厂、化工厂、钢铁厂等过程生产型企业&#xff0c;其生产设备的运行效率和非计划停机对工业制造效益有较大影响。 随着企业自动化和智能化建设的推进&#xff0c;需提前预防假检、错检、漏检&#xff0c;推动智慧生产运维系统数据的流动和现场赋能应用。同时&#xff0c;…...

剑指offer20_链表中环的入口节点

链表中环的入口节点 给定一个链表&#xff0c;若其中包含环&#xff0c;则输出环的入口节点。 若其中不包含环&#xff0c;则输出null。 数据范围 节点 val 值取值范围 [ 1 , 1000 ] [1,1000] [1,1000]。 节点 val 值各不相同。 链表长度 [ 0 , 500 ] [0,500] [0,500]。 …...

Mac软件卸载指南,简单易懂!

刚和Adobe分手&#xff0c;它却总在Library里给你写"回忆录"&#xff1f;卸载的Final Cut Pro像电子幽灵般阴魂不散&#xff1f;总是会有残留文件&#xff0c;别慌&#xff01;这份Mac软件卸载指南&#xff0c;将用最硬核的方式教你"数字分手术"&#xff0…...

Python爬虫(一):爬虫伪装

一、网站防爬机制概述 在当今互联网环境中&#xff0c;具有一定规模或盈利性质的网站几乎都实施了各种防爬措施。这些措施主要分为两大类&#xff1a; 身份验证机制&#xff1a;直接将未经授权的爬虫阻挡在外反爬技术体系&#xff1a;通过各种技术手段增加爬虫获取数据的难度…...

GitHub 趋势日报 (2025年06月06日)

&#x1f4ca; 由 TrendForge 系统生成 | &#x1f310; https://trendforge.devlive.org/ &#x1f310; 本日报中的项目描述已自动翻译为中文 &#x1f4c8; 今日获星趋势图 今日获星趋势图 590 cognee 551 onlook 399 project-based-learning 348 build-your-own-x 320 ne…...

什么是VR全景技术

VR全景技术&#xff0c;全称为虚拟现实全景技术&#xff0c;是通过计算机图像模拟生成三维空间中的虚拟世界&#xff0c;使用户能够在该虚拟世界中进行全方位、无死角的观察和交互的技术。VR全景技术模拟人在真实空间中的视觉体验&#xff0c;结合图文、3D、音视频等多媒体元素…...

【C++】纯虚函数类外可以写实现吗?

1. 答案 先说答案&#xff0c;可以。 2.代码测试 .h头文件 #include <iostream> #include <string>// 抽象基类 class AbstractBase { public:AbstractBase() default;virtual ~AbstractBase() default; // 默认析构函数public:virtual int PureVirtualFunct…...

DeepSeek越强,Kimi越慌?

被DeepSeek吊打的Kimi&#xff0c;还有多少人在用&#xff1f; 去年&#xff0c;月之暗面创始人杨植麟别提有多风光了。90后清华学霸&#xff0c;国产大模型六小虎之一&#xff0c;手握十几亿美金的融资。旗下的AI助手Kimi烧钱如流水&#xff0c;单月光是投流就花费2个亿。 疯…...

如何把工业通信协议转换成http websocket

1.现状 工业通信协议多数工作在边缘设备上&#xff0c;比如&#xff1a;PLC、IOT盒子等。上层业务系统需要根据不同的工业协议做对应开发&#xff0c;当设备上用的是modbus从站时&#xff0c;采集设备数据需要开发modbus主站&#xff1b;当设备上用的是西门子PN协议时&#xf…...