网络编程(现在不重要)

目录

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

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

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

相关文章

一夜爆红的4款国产软件,却一度被大众误以为是外国人开发

在现今高度信息化的时代,计算机已经深深地渗透到了我们生活的每一个角落。 从日常的办公学习到娱乐休闲,几乎都离不开计算机技术的支持。而在这背后,软件作为计算机的灵魂,其发展历史可谓波澜壮阔。 中国软件产业经过多年的积累和…

node express 请求参数接收方式汇总

express 安装使用 express官网 express 是node.js 中写后端服务比较流行的框架。 安装express npm install -g express安装 express-generator 相当于vue的cli 用来快速生成express项目 npx express-generator生成项目mynode -e是使用ejs模版 express -e mynodeexpress生成器生…

2024电容笔专业对比评测:西圣、倍思、绿联哪款平替电容笔更好用?

在当今学习和工作环境中,iPad作为一种多功能的学习和生产力工具,受到越来越多人的青睐与需求。然而,要充分发挥iPad的功能,一个优质的电容笔是必不可少的配件之一。电容笔不仅可以帮助用户进行手写笔记、绘画创作,还能…

新手做抖音小店,想要快速起店,抓住这两点很关键

大家好,我是电商笨笨熊 抖音小店一定是近几年来爆火的电商项目,凭借着直播电商的方式在短短几年内迅速崛起,成为现在人尽皆知的电商项目。 然而在抖店里,不少进入的玩家都是新手,甚至都是盲目入店,没有任…

【Unity】Feature has expired(H0041)

【背景】 在一台很久不用的电脑上更新了个人License,并导入了云项目,打开时却报错: 【分析】 网上查说要删缓存等等,试过都不行。重装Hub也不行。 这种环境类型的原因很难从信息入手定位错误。 所以我自己检查项目上有什么问题…

MATLAB 浮点数 转化为 定点数

a fi(v,s,w,f) 一个 fi 对象,其值为 v,符号性为 s,字长为 w,小数长度为 f。 AD9361 a fi(0.707,1,12,11)

angular node版本问题导致运行出错时应该怎么处理

如下图所示: 处理方式如下: package.json中start跟build中添加:SET NODE_OPTIONS--openssl-legacy-provider即可

还原matlab编辑器窗口和主窗口分开的问题

问题 matlab不知道早点的,点击运行后会弹出新的窗口,咋整都恢复不了 解决方案 首先,在编辑器窗口下,按ctrlshiftD,此时编辑器窗口和主窗口就合并了,问题解决。

TCP的一些功能详述

文章制作不易,望各位大佬多多点赞,球球各位啦!!!! 目录 1.TCP的简介 2.TCP协议中部分数据的理解 1.端口号 2.序列号 3.四位首部长度 4.6位保留位 5. 16位校验和 6.数据(TCP的载荷&#…

CC254X 8051芯片手册介绍

1 8051CPU 8051是一种8位元的单芯片微控制器,属于MCS-51单芯片的一种,由英特尔(Intel)公司于1981年制造。Intel公司将MCS51的核心技术授权给了很多其它公司,所以有很多公司在做以8051为核心的单片机,如Atmel、飞利浦、深联华等公…

mybatis的使用技巧7——mysql中in,exists,join的用法和区别

在实际项目开发中,sql查询中的连表查询和子查询用的是最多的,但是很多人对于in,exists,join的用法认识不足,随意运用,这种情况如果在大数据量查询时,会存在很大的隐患。 一.子查询(…

【创建型模式】工厂方法模式

一、简单工厂模式 1.1 简单工厂模式概述 简单工厂模式又叫做静态工厂方法模式。 目的:定义一个用于创建对象的接口。实质:由一个工厂类根据传入的参数,动态决定应该创建哪一个产品类(这些产品类继承自一个父类或接口)的实例。 简单工厂模式…

MT2046 巨大的错误

1.暴力代码 2/10 #include <bits/stdc.h> using namespace std; int n; int a[25]; int b[25]; int ans 0; bool err() {for (int i 1; i < n; i){if (a[i] b[i]){return false;}}return true; } int main() {cin >> n;for (int i 1; i < n; i){a[i] i…

【Mysql数据库进阶01】窗口函数

窗口函数 1 定义2 聚合窗口函数2.1 默认效果/累计效果2.2 前面两行当前一行2.3 前面一行当前一行后面一行 3 排名窗口函数3.1 排名函数3.1.1 排名函数案例 3.2 累积分布 4 取值窗口函数 1 定义 完整的窗口函数定义如下: window_function([expression]) over(partition byorde…

【nnUNetv2进阶】五、nnUNetv2 魔改网络-小试牛刀-加入注意力机制SpatialAttention

nnUNet是一个自适应的深度学习框架&#xff0c;专为医学图像分割任务设计。以下是关于nnUNet的详细解释和特点&#xff1a; 自适应框架&#xff1a;nnUNet能够根据具体的医学图像分割任务自动调整模型结构、训练参数等&#xff0c;从而避免了繁琐的手工调参过程。 自动化流程&a…

H3C交换机ACL部分规则不生效问题

问题描述 H3C交换机ACL部分规则不生效问题 H3C交换机配置ACL后&#xff0c;规则在100左右&#xff0c;约10个接口下调用后&#xff0c;单独 permit 4个指定源、目IP地址的流量。但是只有前2个生效&#xff0c;后边2个相同的配置不生效。 问题原因 ACL性能不够的问题 dis q…

刀具表面上的微结构

刀具表面微结构通常指在刀具表面对特定功能设计的微观纹理&#xff0c;这些纹理可以是沟槽、凹坑、凸起或任何其他形式的微观图案。这些微结构的设计和应用是为了改善刀具的切削性能&#xff0c;减少切削力和切削温度&#xff0c;提高切削效率和精度&#xff0c;同时降低切削液…

前端常见面试题:HTML+CSS

1. title与h1的区别、b与strong的区别、i与em的区别&#xff1f; title与h1的区别&#xff1a; title标签用于定义整个HTML文档的标题&#xff0c;它显示在浏览器窗口的标题栏或者标签页上。每个HTML文档只应该有一个title标签&#xff0c;它对搜索引擎优化&#xff08;SEO&a…

mysql performance schema 实践

参考MySQL调优性能监控之performance schema,做了一些扩展 1 2、哪类SQL的平均响应时间最多 SUM_NO_INDEX_USED>0用来过滤那些没有使用的查询。 SELECT SCHEMA_NAME,DIGEST_TEXT,AVG_TIMER_WAIT,MAX_TIMER_WAIT,SUM_LOCK_TIME,SUM_ERRORS ,SUM_SELECT_FULL_JOIN,SUM_NO_IND…

大规模端云协同智能计算(大小模型端云协同联合学习)

原文作者&#xff1a;上海交通大学 吴帆 0 引言 目前&#xff0c;许多智能技术已经走入人们的日常生活&#xff0c;例如交互式商品推荐、人脸识别、语音识别、体征观测、疾病诊断、智能决策等&#xff0c;这些智能技术在为我们生活带来极大便利的同时&#xff0c;也深刻改变了…