学习Java第十九天(一):1、Java中的网络编程
1、Java中的网络编程
什么是网络?
在计算机领域中网络是信息传输,接收共享的虚拟平台,通过它把各个点,面,体的联系到一起,从而实现这些资源的共享。
作用:信息传输,资源共享
有点:资源共享免费
OSI七层参考模型和TCP/IP四层参考模型
计算机网络是指由通信线路互相连接的许多自主工作的计算机构成的集合体,各个部件之间以何种规则进行通信,就是网络模型研究的问题。
网络模型一般是指OSI七层参考模型和TCP/IP四层参考模型,这两个模型在网络中应用最为广泛。
OSI七层参考模型:应用层、表示层、会话层、传输层、网络层、数据链路层、物理层
TCP/IP四层参考模型:应用层、传输层、IP层(网络层)、网络接口层(网络接入层)
计算机网络四要素
IP地址
处于网络中的通信设备(电脑、手机、电视等),都会分配一个ip地址。
这些设备在通信之前,首先要通过通信设备的网卡接入到网络中。
而这个网卡属于一个硬件,并且所有的网卡在出厂的时候,都有一个固定的网卡地址,并且这个网卡地址(MAC地址)全球唯一。
查看网卡地址(MAC地址)
在命令提示行窗口中输入ipconfig/all可以查询ip(mac地址)相关的详细信息
linux操作系统使用ifconfig可以查询ip(mac地址)相关的详细信息
固定的网卡地址(mac地址)与ip地址的关系
例如:固定的网卡地址(mac地址)---00-0C-7A-CA-8E
ip地址----------------------------------192.168.1.55
所有的网卡都有一个唯一的物理地址,但是这个地址非常的不好记,于是给每个网卡又分了一个逻辑(IP)地址,这个逻辑地址就是ip地址。通信的过程中,就可以根据这个逻辑地址找到处于网络中的这台设备。
IP地址也是对处于网络中的某个通信终端的标识。
IP地址与域名的关系。
由于IP地址也不容易记忆,因此又给每个IP绑定了一个名称,这个名称被称为域名。
00-0C-7A-CA-8E----->192.168.1.55------->百度一下,你就知道
本机默认的ip地址是127.0.0.1;它有一个对应的默认的域名:localhost。
DNS服务器(域名解析服务器)
域名解析有2步骤
本地解析:
在我们的操作系统中,有一个hosts文件,当输入域名之后,首先会在hosts文件中找有没有当前的域名对应的IP地址,有就会使用这个IP地址。(C:\Windows\System32\drivers\etc\hosts)
DNS服务器解析
如果第一步解析失败了,会到网络中的DNS服务器上今夕解析,DNS服务器中会将全球所有的域名和IP设置在其中,如果DNS服务器解析失败,说明当前的域名有问题的。
协议
通信双方通信的时候需要遵守的童心男的规则。
后期我们会遇到很多协议(高级协议,应用协议:http,frp,https)
我们在java网络编程解说的协议属于底层协议(TCP/UDP),所有的高级协议都是基于底层协议。
端口
我们通过ip可以找到网络中具体那个通信终端的设备,而具体需要访问这个设备中的那个资源(软件)信息,这是由于设备中运行的资源(软件)肯定很多,这时每个资源(软件)必须在给一个唯一的编号(标识)。通过这个标识才能保证我们可以没有错误的访问到指定ip地址的具体那个资源(软件)上。
端口是一个设备(电脑,手机等)上某个应用程序(软件)的唯一标识,设备中运行的任何一个软件,只要启动,就肯定会有一个唯一的编号与其整个软件绑定。
端口从0开始到65535之间,0到1024之间的端口数字已经分配给本机的操作系统的应用程序占用,因此后期我们书写程序如果需要绑定端口,整个必须大于1024
端口其实就是进入本台计算机时,访问本台计算机所运行应用程序(软件)的入口。
学习Java第十九天(一):1、Java中的网络编程相关推荐
- Python学习笔记第二十九天(N维数组(ndarray))
Python学习笔记第二十九天 N维数组(ndarray) 构建阵列 索引阵列 ndarray的内部内存布局 阵列属性 内存布局 数据类型 其他属性 阵列接口 ctypes外部功能接口 Array方法 ...
- Java中的网络编程类(TCPUDP)
Java中的网络编程类 n Java.net包 – TCP协议 URL URLConnection Socket ServerSocket – UDP协议 DatagramPacket Datagra ...
- 第78节:Java中的网络编程(上)
第78节:Java中的网络编程(上) 前言 网络编程涉及ip,端口,协议,tcp和udp的了解,和对socket通信的网络细节. 网络编程 OSI开放系统互连 网络编程指IO加网络 TCP/IP模型: ...
- Java调用大数据接口,学习Hadoop第二十八课(java通过调用接口来操作HBase)
上节课我们一起简单学习了HBase的一些理论,这节课我们一起学习用java调HBase的接口来操作HBase. 我们首先建一个工程,这里我们还用原始的新建一个lib包.然后我们把下载的hbase-0. ...
- 【Java二十周年】爱上Java无法自拔
林炳文Evankaka原创作品.转载请注明出处http://blog.csdn.net/evankaka 一.写在前面的话 不知不觉之中,java都已经20岁了.刚好是一个正值青春的少年,回想当初他出 ...
- Java项目模拟QQ群聊和私聊(网络编程+多线程)
[文末获取资源] 前几天学习了多线程,最近在学习网络编程,了解了UDP之后又学习了TCP,听一下大佬说,要看看你这两个东西掌握的怎么样,最好的办法就是写一个模拟QQ群聊和私聊,经过这几天的学习,以及不 ...
- Java SE基础知识详解第[18]期—网络编程(通信)
写在前面: 每一个不曾起舞的日子,都是对生命的辜负. 希望看到这里的每一个人都能努力学习,不负韶华,成就更好的自己. 以下仅是个人学习过程中的一些想法与感悟,Java知识博大精深,作为初学者,个人能力 ...
- java 中的网络编程(Socket、TCP三次握手四次挥手、TCP/UDP/URL)
文章目录 前言 一.网络编程概述 二.网络通信要素概述 1.如何实现网络中的主机互相通信 2.网络通信协议 3.IP和端口号 4.InetAddress类 5.网络协议 6.TCP/IP协议簇 7.T ...
- Java从接触到放弃(二十一)--网络编程
Day Twenty-One 网络编程 网络编程中有两个主要的问题 如何准确的定位到网络上的一台或者多台主机 找到主机之后如何进行通信 网络编程中的要素 IP和端口号 网络通信协议 udp,tcp I ...
最新文章
- win10直接获得文件绝对路径的方法总结
- memcache的原理和命中率的总结
- mysql怎么可视化连接_IDEA连接MySQL可视化工具连接操作
- python英文文献翻译_科研神器(1)——python实现自动读取英文文献翻译并生成综述...
- 数值优化(Numerical Optimization)学习系列-目录
- 优酷APP响应式布局在消费场景的落地之Android篇
- 关于equals和hashCode
- Windows Mobile 6.1开发笔记
- css3中的transform,渐变,rgba
- ObjectAnimator实现菜单的弹出(扇形)
- 【UX/UI原型模板】中国地图元件库操作说明(省份+直辖市+自治区+行政特区详细地图)
- Sublime Text 2 代码编辑器使用技巧
- 【Python】常用中英文词汇对照
- CTex:字体字号设置
- 万能的5款工具推进活动策划方案
- 前端新手遇到的问题 ---含“ 文字贯穿线、@font-face、axios ”知识
- redis desktop manager安装以及使用教程
- MySQL week()函数及参数mode详解
- vue 项目启动报错“Cannot GET /”
- 苹果开放降级_iOS13不好用?iOS可能将会实现自由降级