day071:网络编程(IP、端口、协议)、InetAddress类、UDP协议、TCP协议

news2024/11/28 4:30:05

目录

一、网络编程

1.网络编程三要素

2.IP地址

(1)IP地址(每台计算机指定的标识号)

(2)类InetAddress:方便对IP地址获取和操作;此类表示Internet(IP)地址

3.端口(设备中的程序的唯一标识)

4.协议(计算网络中,连接和通信时的规则)

(1)UDP协议(User Datagram Protocol)

(2)TCP协议(Transmission Control Protocol)


一、网络编程

1.网络编程三要素

  • IP地址:每台计算机指定的标识号;通过标识号来指定要接收数据的计算机和识别发送数据的计算机
  • 端口:设备中的程序的唯一标识;本质上是两个应用程序的通信
  • 协议:计算网络中,连接和通信时的规则被称为网络通信协议;常见的协议有:UDP、TCP

2.IP地址

(1)IP地址(每台计算机指定的标识号)

  • IP地址分为Ipv4、Ipv6两类(因为Ipv4不够用了,所以就有了Ipv6)
  • 常用命令:win+R 输入cmd命令行后,输入ipconfig查看本机IP地址;输入ping加上IP地址查看网络是否联通
  • 特殊的IP地址:127.0.0.1:是回送地址,可以代表本机地址,一般用于测试 

(2)类InetAddress:方便对IP地址获取和操作;此类表示Internet(IP)地址

类InetAddress的方法:

  • static InetAdress getByName(astring host):     利用主机名称获取IP地址;主机名称可以是机器名称,也可以是IP地址)
  • String getHostName():         利用IP地址获取主机名称
  • String getHostAddress():     返回文本显示中的IP地址字符串

代码示例:

public class netDemo_01 {
    public static void main(String[] args) throws UnknownHostException {
      
        //利用主机名称获取IP地址;主机名可以是机器名称,也可以是IP地址
        InetAddress address = InetAddress.getByName("zqRedmiBook");
        //(或者InetAddress address = InetAddress.getByName("192.168.0.01");)
       
        //获取此IP地址的主机名
        String hostName = address.getHostName();
      
        //返回文本显示中的IP地址字符串
        String hostAddress = address.getHostAddress();

        System.out.println("主机名:" + hostName);
        System.out.println("IP地址:" + hostAddress);

    }

3.端口(设备中的程序的唯一标识)

端口号:用两个字节表示的整数,取值范围是0~65535。0~1023之间的端口号用于一些知名的网络服务和应用,普通的应用程序需要使用1024以上的端口号。如果端口号被另一个服务或应用所占用,会导致当前程序启动失败

4.协议(计算网络中,连接和通信时的规则)

(1)UDP协议(User Datagram Protocol)

UDP是无连接通信协议。简单来说,一台计算机在向另一台计算机发送数据时,发送端不会确认接收端是否存在,就会发送数据,接收端在收到数据时,也不会向发送端反馈是否收到数据。

UDP协议消耗资源小、通信效率高,所以UDP协议常用于视频会议等音频、视频和普通数据的传输

(2)TCP协议(Transmission Control Protocol)

TCP是传输控制协议。是面向连接的通信协议。在发送数据之前,发送端会向接收端建立连接,再传输数据。每次连接的创建都需要经过“三次握手”。

TCP协议保证了数据传输的安全,应用于上传文件、下载文件、浏览网页等。

“三次握手”:客户端与服务器之间的三次交互,以保证连接的可靠

第一次握手:客户端向服务器端发送出连接请求,等待服务器确认

第二次握手:服务器回应,通知客户端收到了请求

第三次握手:客户端再次向服务端发送确认信息,确认连接

 

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

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

相关文章

LVS+Keepalived高可用群集

目录 一、keepalived简介 二、keepalived工作原理 三、LVS-DR模式keepalived 高可用集群部署 1、部署2台web服务器 2、部署2台负载调度器 四、总结 一、keepalived简介 Keepalived是通过vrrp 协议的实现高可用性,对网络比较了解的IT人,对这个技术应…

[操作系统笔记]调度与死锁杂项知识点

部分定义截取自书本 管态和目态 这说的是处理机的执行状态 管态又称为特权态,系统态,核心态。CPU在管态下可以执行指令系统的全集。如果程序处于管态,则该程序可以访问计算机的任何资源,它的资源访问权限不受限制,通常…

iOS16 中的 3 种新字体宽度样式

前言 在 iOS 16 中,Apple 引入了三种新的宽度样式字体到 SF 字体库。 Compressed Condensed Expend UIFont.Width Apple 引入了新的结构体 UIFont.Width,这代表了一种新的宽度样式。 目前已有的四种样式。 standard:我们总是使用的默认…

centos安装nacos

一、安装JDK环境和MySQL环境 jdk环境安装:centos安装jdk1.8_java-zh的博客-CSDN博客 MySQL环境安装:centos安装mysql5.7_java-zh的博客-CSDN博客 二、拉取nacos项目 GitHub主页:https://github.com/alibaba/nacos GitHub的Release下载页:https://…

ClickHouse教程 — 第一章 ClickHouse单机版安装

ClickHouse教程 — 第一章 ClickHouse单机版安装1 版本区别1.1 clickhouse-client-21.1.9.41以上版本1.2 clickhouse-client-21.1.9.41以下版本2 clickhouse-client-21.1.9.41以上版本2.1 下载2.2 解压安装2.3 启动2.4 clickhouse相关目录2.5 允许远程访问3 clickhouse-client-…

应用地球物理+AI:智能地球勘探

《地球物理人工之智能和信息前沿技术学术报告会》 主讲人:陆文凯 1. 地球物理学 地球科学的主要学科之一,是通过定量的物理方法(如:地震、重、磁、电、测井、地热和放射能等方法)研究地球以及寻找地球内部矿藏资源的一…

TD集群内存占用过高

1 TD简介 TDengine 是一款开源、云原生的时序数据库,专为物联网、工业互联网、金融、IT运维监控等场景设计并优化。它能让大量设备、数据采集器每天产生的高达 TB 甚至 PB级的数据得到高效实时的处理,对业务的运行状态进行实时的监测、预警,从…

pyinstaller打包记录|| 打包成功,含xgboost打包遇到的问题

文章目录1 requirements.txt2 项目介绍3 matplotlib的问题4 xgboost打包遇到的问题4.1 解决办法:5 总结流程5.1 打开命令行5.2 键入打包指令5.3 执行文件5.4 双击exe运行1 requirements.txt python3.6.15tensorflow-cpu2.2.0 netCDF41.5.6 Keras2.3.1 pandas1.0.3 …

盘点 | 云原生峰会重磅发布

11 月 5 日,2022 杭州云栖大会上,阿里巴巴研究员、阿里云智能云原生应用平台总经理丁宇在云原生峰会上发表主题演讲,提出云原生激活应用构建新范式。在分享中发布阿里云在云原生领域多款新产品与全新升级,持续引领行业云原生技术趋…

交通大数据应用场景——高速落地检

自11月11日进一步优化疫情防控二十条措施发布以来,国内各地针对核酸检测、人员管控等防控重点领域,陆续出台相关调整政策,进一步提高疫情防控的科学性、精准性、有效性。 “躺平”不可取,“躺赢”不可能,优化疫情防控…

【云原生 | Kubernetes 系列】--Gitops持续交付 ArgoCD自动同步策略

1. ArgoCD自动同步策略 自动同步策略允许ArgoCD在检测到GitRepo与实际状态之间存在差异时,自动启动同步操作. Prune Resource(自动修剪):在集群上某个资源在GitRepo中找不到对应的配置时,自动删除集群上的该资源 Self Heal(自愈): 因各种原因(如手动修改)集群上资源的实时状态…

艾美捷nickases-Cas9内切酶裂解试验展示

核酸内切酶(endonuclease)在核酸水解酶中,为可水解分子链内部磷酸二酯键生成寡核苷酸的酶,与核酸外切酶相对应。从对底物的特异性来看,可分为DNaseⅠ、DNaseⅡ等分解DNA的酶;RNase、RNaseT1等分解RNA的酶。…

ETF轮动+RSRS择时,加上卡曼滤波:年化48.41%,夏普比1.89

原创文章第112篇,专注“个人成长与财富自由、世界运作的逻辑, AI量化投资”。 昨天我们设计了一个不错的策略:etf动量轮动大盘择时:年化30%的策略。ETF动量轮动RSRS择时,动量其实一直都有效,如何定义动量可…

java图形验证码到底是怎么生成的?

真正的大师,永远都怀着一颗学徒的心! 一、项目简介 java图形验证码到底是怎么生成的?支持中文、gif、算术等类型 二、实现功能 支持gradle方式的引入 支持maven方式引入 支持jar包下载 支持10种漂亮的内置字体,不依赖系统字体 支持输出…

Codeforces Round #835 (Div. 4) A~G

比赛链接&#xff1a;https://codeforces.com/contest/1760 A. Medium Number 题目大意&#xff1a; t组测试&#xff0c;每组给三个数求中位数。 代码&#xff1a; #include<bits/stdc.h> #define rep(i,a,b) for (register int ia;i<b;i) #define per(i,a,b) …

无人驾驶(二)---室外导航之RTK配置与接入及GPS与UTM坐标转换

1. RTK 概述 RTK 载波相位差分技术&#xff0c;是实时处理两个测量站载波相位观测量的差分方法&#xff0c;将基准站采集的载波相位发给用户接收机&#xff0c;进行求差解算坐标。一般包含流动站 (移动站) 和基准站 (基站) 。本文中RTK定位采用千寻定位&#xff0c; 参考的也是…

39Java System类

目录 System类 1.定义 2.预备知识 3.常用方法 (1).currentTimeMillis返回系统时间 (2).exit终止虚拟机 (3).arraycopy拷贝数组 System类 1.定义 Java System类是一个提供与系统相关的方法 System类所在包为java.lang包&#xff0c;因此在使用的时候不需要进行导包。并且Sy…

外汇天眼:FCA 已向交易应用程序运营商发出警告,要求其停止交易游戏化

英国市场监管机构希望交易应用程序开发商重新考虑关键设计元素。 根据新的研究&#xff0c;游戏化可能会导致类似赌博的行为。 负责监管英国金融市场的金融行为监管局 ( FCA )周一发布了有关交易应用程序设计的市场警告。金融业监管机构担心零售交易越来越像一场游戏&#xff…

A. Row GCD(更相减损术+gcd的性质)

Problem - 1458A - Codeforces 给你两个正整数序列a1,...,an和b1,...,bm。对于每个j1,...,m&#xff0c;求a1bj,...,anbj的最大公除数。 输入 第一行包含两个整数n和m&#xff08;1≤n&#xff0c;m≤2⋅105&#xff09;。 第二行包含n个整数a1,...,an&#xff08;1≤ai≤101…

Linux学习记录——이 基本指令(2)

接着上一篇继续写指令。 man指令 man指令是一个手册功能的指令&#xff0c;可以查看系统内的接口&#xff0c;指令等等&#xff0c;也可以查看一个指令有什么用法。如果是需要查看C语言中的指令&#xff0c;比如printf&#xff0c;就可以man 3 printf。不过man大多数情况是用…