网络编程(现在不重要)

目录

网络编程三要素与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),所以不用担心不理解,了解一遍即可。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

机器学习引领金融革命:重塑金融服务领域新格局,开启智能化新篇章

🧑 作者简介:阿里巴巴嵌入式技术专家,深耕嵌入式人工智能领域,具备多年的嵌入式硬件产品研发管理经验。 📒 博客介绍:分享嵌入式开发领域的相关知识、经验、思考和感悟,欢迎关注。提供嵌入式方向的学习指导…

抖店选品技巧!如何在直播间找到“爆品”?新手必看

哈喽~我是电商月月 说到选品,除了看商品排行榜榜单,还可以去直播间看别人卖的好的商品,我们就跟着上架 但现实就是,如果真的这么简单,就不会有那么多人的店铺因为不怎么出单而放弃开店 其实这个方法确实是对的 但这…

when语法学习及判断主机别名实例

目录 1、概念 2、实例配置 2.1 编写剧本体验when的用法 2.2 执行剧本文件 2.3 使用ansible临时命令进行测试 1、概念 when是用于判断的语法,将其用在每个动作的下方进行判断,使得只有在满足条件才会执行。 2、实例配置-判断主机别名 在每个客户端中…

c语言中声明的问题【求个关注!】

文章目录 1 变量的声明与定义(1)定义与声明的区别:(2)为什么要区分定义与声明?(3)extern是什么 ?(4)举例: 2 函数的声明:函数声明的格…

SpringCloud集成Skywalking链路追踪和日志收集

1. 下载Agents https://archive.apache.org/dist/skywalking/java-agent/9.0.0/apache-skywalking-java-agent-9.0.0.tgz 2. 上传到服务器解压 在Spring Cloud项目中,每部署一个服务时,就拷贝一份skywalking的agent文件到该服务器上并解压。不管是部署…

10-菜刀连接木马

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

文件操作(C语言)

目录 1.为什么使用文件? 2.什么是文件? 2.1程序文件 2.2数据文件 2.3文件名 3.二进制文件和文本文件 4.文件的打开和关闭 4.1流和标准流 4.1.1流 4.1.2标准流 4.2文件指针 4.3文件的打开和关闭 5.文件的顺序读写 5.1顺序读写函数介绍 5.2…

(二)使用VS2022克隆下载C++自制植物大战僵尸游戏教程

植物大战僵尸游戏开发教程专栏地址http://t.csdnimg.cn/uzrnw 本文将介绍如何使用VS2022克隆下载《植物大战僵尸C自制版本》。 Gitee项目地址: Gitee仓库地址https://gitee.com/GITLZ/PlantsVsZombies Github项目地址: Github仓库地址https://github…

IoC与Spring

目录 IoC控制反转 现实案例 特点 目的 DI依赖注入 小总结 介绍Spring 狭义和广义上的Spring 传统编码方式的不足 需求引入 弊端分析 IoC控制反转 现实案例 1、买水果问老板各种水果的口感而不是自己去挨个尝试一遍。 2、买房子找中介而不是自己去花时间找房东。…

金蝶云星空与旺店通·企业版对接集成供应商查询打通创建供应商

金蝶云星空与旺店通企业版对接集成供应商查询打通创建供应商 接通系统:金蝶云星空 金蝶K/3Cloud结合当今先进管理理论和数十万家国内客户最佳应用实践,面向事业部制、多地点、多工厂等运营协同与管控型企业及集团公司,提供一个通用的ERP服务平…

RK3588 linux 修改ulimit 配置

前言 ulimit 主要是用来限制进程对资源的使用情况的,它支持各种类型的限制,常用的有: 内核文件的大小限制进程数据块的大小限制Shell进程创建文件大小限制可加锁内存大小限制常驻内存集的大小限制打开文件句柄数限制分配堆栈的最大大小限制C…

如何提高直线模组的技术水平?

在工业制造业中,不管我们使用任何机械产品,都有一个共同的出发点,就是能用先进的技术突破其产品的性能及使用性。那么直线模组究竟是用什么技术突破其产品的使用性的呢? 1、优化机械设计:设计过程中应充分考虑模组的结…

OpenCV与AI深度学习 | 实战 | 基于YOLOv9+SAM实现动态目标检测和分割(步骤 + 代码)

本文来源公众号“OpenCV与AI深度学习”,仅用于学术分享,侵权删,干货满满。 原文链接:实战 | 基于YOLOv9SAM实现动态目标检测和分割(步骤 代码) 0 导 读 本文主要介绍基于YOLOv9SAM实现动态目标检测和分…

微信小程序展示倒计时

html <view class"countdown"> <text>倒计时&#xff1a;</text> <text wx:for"{{countdown}}" wx:key"index">{{item}}</text> </view> ts data: {countdown: [], // 存放倒计时数组 targetTime:…

【个人博客搭建】(8)全局异常处理

1、net 8 webapi 全局异常处理: 在 .NET 8 WebAPI 中&#xff0c;全局异常处理可以通过实现**IExceptionHandler接口或使用IAsyncExceptionFilter接口来完成**。 首先&#xff0c;关于IExceptionHandler接口&#xff0c;它是ASP.NET Core中用于全局异常处理的新抽象。这个接口有…

从小到大输出四个整数(C语言)

一、N-S流程图&#xff1b; 二、运行结果&#xff1b; 三、源代码&#xff1b; # define _CRT_SECURE_NO_WARNINGS # include <stdio.h>int main() {//初始化变量值&#xff1b;int a, b, c, d;int t 0;//提示用户&#xff1b;printf("请输入四个整数a b c d&…

C语言趣味代码(一)

C语言相关知识点的博客和大家分享完了&#xff0c;接下来我想开始数据结构相关的博客&#xff0c;在此之前呢&#xff0c;有的小伙伴问过我学完C语言的相关知识&#xff0c;我能干些什么呢&#xff1f;只有刷题吗&#xff1f;这不禁让我反思&#xff1a;在我们学习的过程中&…

【RSGIS数据资源】2001-2022年中国玉米种植分布数据集

文章目录 数据介绍精彩截图2001&#xff5e;2020年中国玉米种植频率分布2001年至2020年研究区域融合数据的平均填充百分比。 数据介绍 2001-2022年中国玉米种植分布数据集&#xff08;CCD-Maize&#xff09;&#xff0c;涵盖中国22个省、市的玉米种植分布图&#xff0c;文件格…

一文搞定 EventLoop、宏任务、微任务

面试官&#xff1a;你了解JavaScript事件循环吗&#xff0c;掌握多少&#xff0c;把你知道的都说一下。 今天我们就来说一下&#xff0c;JavaScript作为一门单线程语言&#xff0c;如何通过事件循环&#xff08;Event Loop&#xff09;和任务队列&#xff08;Task Queue&#…

CTFHUB-技能树-Web前置技能-文件上传(无验证,JS前端验证,前端验证)

CTFHUB-技能树-Web前置技能-文件上传&#xff08;无验证&#xff0c;JS前端验证&#xff0c;前端验证—.htaccess&#xff09; 文章目录 CTFHUB-技能树-Web前置技能-文件上传&#xff08;无验证&#xff0c;JS前端验证&#xff0c;前端验证—.htaccess&#xff09;文件上传无验…