【网络编程】-- 01 概述、IP

网络编程

1 概述

1.1 计算机网络

(连接分散计算机设备以实现信息传递的系统)

计算机网络是指将地理位置不同的具有独立功能的多台计算机及其外部设备,通过通信线路连接起来,在网络操作系统网络管理软件及网络通信协议的管理和协调下,实现资源共享和信息传递的计算机系统。

1.2 网络编程目的

…传播交流信息…数据交换…通信…

1.3 条件

  1. 如何准确定位网络上的一台主机? ------ 192.168.16.124:端口 --> 定位至此计算机上的某个资源(app)

  2. 如何传输数据?

javaweb:网页编程 B/S架构

网络编程:TCP/IP C/S架构

1.4 网络通信要素

如何实现网络通信?

  • 通信双方的地址:

    • IP地址
    • 端口号
  • 规则(网络通信协议):

    • http
    • ftp
    • smtp
    • tcp
    • udp
    • TCP/IP 参考模型

    图1

    本章内容主要学习传输层的TCP与UDP协议

【小结】

  • 网络编程的两个主要问题
    • 如何准确定位网络上的一台或多台主机
    • 找到主机之后,如何传输数据(进行通信)?
  • 网络编程中的要素
    • IP和端口号
    • 网络通信协议

2 IP

Class InetAddress

  • 唯一定位一台网络上的计算机

  • 127.0.0.1:本机 英文名:localhost

  • IP地址的分类

    • IP地址分类IPv4/IPv6

      • IPv4:例如127.0.0.1,四个字节(32位)组成;每个字节由0~255的数字;约等于2^32个(42亿)网络地址:30亿在北美,亚洲只有4亿;2011年已用尽

      • IPv6:例如fe80::c975:a83:ce2d:74c8%7,128位长,由8个无符号整数(八个字节)组成

        • IPv6地址冒分格式为:

          X : X : X : X : X : X : X : X (8组)

        • 常用的完整16进制表示方式:

          nnnn : nnnn : nnnn : nnnn : nnnn : nnnn : nnnn : nnnn (其中n为09、AF任意一个数值)

        • IPv6地址是可以进行缩写表示的,例如冒号分隔的每组数值前面的0可以省略不写

        • 冒号分隔的一组或连续几组全0数值,可以用双冒号表示(一个IP地址最多只可出现一次::缩写)

    • 公网(互联网)-私网(局域网)

      • 192.168.xx.xx一般是局域网,专门用于组织内部
      • ABCD类IP地址
  • 域名:解决IP问题

练习:

package com.duo.lesson01;import java.net.InetAddress;
import java.net.UnknownHostException;
import java.util.Arrays;//测试IP
public class InetAddressTest {public static void main(String[] args) {try {//查询本机IP地址:3种方式InetAddress inetAddress1 = InetAddress.getByName("127.0.0.1");System.out.println(inetAddress1);InetAddress inetAddress2 = InetAddress.getByName("localhost");System.out.println(inetAddress2);InetAddress inetAddress3 = InetAddress.getLocalHost();System.out.println(inetAddress3);//查询网站IP地址InetAddress inetAddress4 = InetAddress.getByName("www.baidu.com");System.out.println(inetAddress4);//一些常用方法System.out.println(Arrays.toString(inetAddress4.getAddress()));System.out.println(inetAddress4.getCanonicalHostName());  //获取“规范的名字”System.out.println(inetAddress4.getHostAddress());  //获取IPSystem.out.println(inetAddress4.getHostName());  //获取域名} catch (UnknownHostException e) {throw new RuntimeException();}}
}

运行结果:

图2


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

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

相关文章

23款奔驰E350eL升级小柏林音响 13个扬声器 590w

小柏林之声音响是13个喇叭1个功放,功率是590W,对应普通音响来说,已经是上等了。像著名的哈曼卡顿音响,还是丹拿音响,或者是BOSE音响,论地位,论音质柏林之声也是名列前茅。 升级小柏林音响&#…

PHPstudy小皮的数据库打开失败问题解决

如果你的MYSQL服务启动后停止,多次重启依然无法解决的情况下,大概率是和本地mysql冲突了 但是,千万不要卸载掉本地mysql,只需要在服务中停止本地mysql即可 将此服务关闭,小皮的mysql即可使用

ES6中的继承,String类型方法的拓展

ES6中的继承: 主要是依赖extends关键字来实现继承,使用了extends实现继承不一定要constructor和super,因为没有的话会默认产生并调用它们。 在实现继承时,如果子类中有constructor函数,必须得在constructor中调用一下s…

[python库] mistune库的基本使用

前言 mistune库是一个解析Markdown的利器,使用起来非常简单。当我们想要解析Markdown格式的文档时,只需两步就能将其转换成html格式。如下: import mistune mistune.html(YOUR_MARKDOWN_TEXT)安装方式也非常简单,dddd&#xff1…

Java毕业设计源码—vue+SpringBoot图书借阅管理图书馆管理系统

主要技术 SpringBoot、Mybatis-Plus、MySQL、Vue3、ElementPlus等 主要功能 管理员模块:注册、登录、书籍管理、读者管理、借阅管理、借阅状态、修改个人信息、修改密码 读者模块:注册、登录、查询图书信息、借阅和归还图书、查看个人借阅记录、修改…

使用Inno Setup 打包程序文件 怎么把其中一个文件安装时复制到指定系统文件夹

环境: Inno Setup 6.6 Win10 专业版 问题描述: 使用Inno Setup 打包程序文件 怎么把其中一个文件安装时复制到指定系统文件夹 将文件api-ms-win-shcore-scaling-l1-1-1.dll复制到system32里面 解决方案: 1.由于安全和权限的限制,直接在Inno Setup脚本中复制文件到C:\…

工作中常用的RabbitMQ实践

目录 1.前置 2.导入依赖 3.生产者 4.消费者 5.验证 验证Direct 验证Fanout 验证Topic 1.前置 安装了rabbitmq&#xff0c;并成功启动 2.导入依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-…

Linux查看命令的绝对路径

linux查看命令的绝对路径 在Linux中&#xff0c;可以使用以下命令来查看命令的绝对路径&#xff1a; 1、which 命令名 例如&#xff0c;要查看chronyc命令的绝对路径&#xff0c;可以运行&#xff1a; which chronyc 2、whereis 命令名 例如&#xff0c;要查看chronyc命令…

Python-关系运算符详解

关系运算符&#xff1a;比较两个操作数的大小或者相等关系 < > ! 1、关系运算符的关系表达式返回值是布尔类型bool 成立就是真&#xff0c;即1&#xff1b;不成立就是假&#xff0c;即0 2、关系运算符还可以比较字符 字符根据字典序比较&#xff0c;先看首字母在…

SolidWorks Simulation 有限元分析-升降架分析

问题描述&#xff1a;一个载重为 1800N 的升降架承受一外部水压柱筒的作用&#xff0c;该水压柱筒与基座上的滑块相连。 1. 打开零件。 2. 我们新建一个静应力分析的算例&#xff0c;如下图所示。 3. 设置材料。我们需要为模型指定模型的材料属性。点击选中模型&#xff0c;鼠…

Python超级详细的raise用法

当程序出现错误时&#xff0c;系统会自动引发异常。除此之外&#xff0c;Python 也允许程序自行引发异常&#xff0c;自行引发异常使用 raise 语句来完成。 很多时候&#xff0c;系统是否要引发异常&#xff0c;可能需要根据应用的业务需求来决定&#xff0c;如果程序中的数据…

office办公技能|ppt插件使用

PPT插件获取&#xff1a;链接&#xff1a;https://pan.baidu.com/s/1BOmPioUKeY2TdC-1V-o3Vw 提取码&#xff1a;tdji 一、ppt插件介绍 PPT插件是一种可以帮助用户在Microsoft PowerPoint软件中添加各种额外功能和效果的应用程序。使用PPT插件可以让用户更加轻松地制作出专业、…