12.1-全栈java笔记:网络编程的基本概念

     2022-03-19     735

关键词:

什么是计算机网络?

把分布在不同地理区域的计算机与专门的外部设备用通信线路互连成一个规模大、功能强的网络系统,从而使众多的计算机可以方便地互相传递信息,共享硬件、软件、数据信息等资源。


计算机网络的主要功能:

资源共享

信息传输与集中处理

均衡负荷与分布处理

综合信息服务 (www/综合业务数字网络 ISDN)

什么是网络通信协议

计算机网络中实现通信必须有一些约定即通信协议,对速率、传输代码、代码结构、传 输控制步骤、出错控制等制定标准。


网络通信接口:

为了使两个结点之间能进行对话,必须在它们之间建立通信工具(即接口),使彼此之间 能进行信息交换。接口包括两部分:

  硬件装置: 实现结点之间的信息传送

  软件装置: 规定双方进行通信的约定协议

为什么要分层

由于结点之间联系很复杂,在制定协议时,把复杂成份分解成 一些简单的成份,再将它们复合起来。最常用的复合方式是层次方式,即同层间可以通信、上一层可以调用下一层,而与再下一层不发生关系。


通信协议的分层规定

把用户应用程序作为最高层,把物理通信线路作为最低层,将其间的协议处理分为若干层,规定每层处理的任务,也规定每层的接口标准。


1)物理层(Physical Layer)

2)数据链路层(Data Link Layer)

3)网络层(Network Layer)网络层协议的代表包括:IP、IPX、RIP、OSPF等

4)传输层(Transport Layer)传输层协议的代表包括:TCP、UDP、SPX等。

5)会话层(Session Layer)NetBIOS、ZIP(AppleTalk区域信息协议)等。

6)表示层(Presentation Layer) ASCII、ASN.1、JPEG、MPEG等。

7)应用层(Application Layer)   Telnet、FTP、HTTP、SNMP等。

数据封装


数据拆封


IP:IPV4、 IPV6

端口:

QQ、msn、 迅雷、电驴、360 通过端口,可以在一个主机上运行多个网络应用程序。端口是虚拟的概念,并不是说在主机上真的有若干个端口。

URL:

在WWW上,每一信息资源都有统一的且唯一的地址,该地址就叫URL(Uniform Resource Locator),它是WWW的统一资源定位符。URL由4部分组成:协议 、存放资源的主机域名、资源文件名和端口号。如果未指定该端口号,则使用协议默认的端口。例如http 协议的默认端口为 80。

在java.net包中提供了URL类,该类封装了大量复杂的涉及从远程站点获取信息的细节。




「全栈Java笔记」是一部能帮大家从零到一成长为全栈Java工程师系列笔记。笔者江湖人称 Mr. G,10年Java研发经验,曾在神州数码、航天院某所研发中心从事软件设计及研发工作,从小白逐渐做到工程师、高级工程师、架构师。精通Java平台软件开发,精通JAVAEE,熟悉各种流行开发框架。


 笔记包含从浅入深的六大部分:

 A-Java入门阶段

 B-数据库从入门到精通

 C-手刃移动前端和Web前端

 D-J2EE从了解到实战

 E-Java高级框架精解

 F-Linux和Hadoop 




本文出自 “12931675” 博客,请务必保留此出处http://12941675.blog.51cto.com/12931675/1945774

7.1-全栈java笔记:数组的概念和初始化

数组概述和特点数组的定义:数组是相同类型数据的有序集合。数组描述的是相同类型的若干个数据,按照一定的先后次序排列组合而成。其中,每一个数据称作一个元素,每个元素可以通过一个下标来访问它们。数组的三个基本... 查看详情

6.1-全栈java笔记:异常处理机制的概念

异常问题实际工作中,遇到的情况不可能是非常完美的。比如:你写的某个模块,用户输入不一定符合你的要求、你的程序要打开某个文件,这个文件可能不存在或者文件格式不对,你要读取数据库的数据,数据可能是空的等。... 查看详情

11.5-全栈java笔记:线程基本信息和优先级别

获取线程基本信息的方法表  线程的常用方法方法功能isAlive()判断线程是否还“活”着,即线程是否还未终止。getPriority()获得线程的优先级数值setPriority()设置线程的优先级数值setName()给线程一个名字getName()取得线程的名... 查看详情

12.3-全栈java笔记:java网络编程

Java为了可移植性,不允许直接调用操作系统,而是由java.net包来提供网络功能。Java虚拟机负责提供与操作系统的实际连接。 InetAddress作用:封装计算机的IP地址和DNS(没有端口信息!)。特点:这个类没有构造函数。如果要... 查看详情

12.4-全栈java笔记:java网络编程

 基于TCP协议的Socket编程和通信在网络通讯中,第一次主动发起通讯的程序被称作客户端(Client)程序,简称客户端,而在第一次通讯中等待连接的程序被称作服务器端(Server)程序,简称服务器。一旦通讯建立,则客户端和服务... 查看详情

12.7-全栈java笔记:java网络编程

UDP通讯的实现1.DatagramSocket:用于发送或接收数据包当服务器要向客户端发送数据时,需要在服务器端产生一个DatagramSocket对象,在客户端产生一个DatagramSocket对象。服务器端的DatagramSocket将DatagramPacket发送到网络上,然后被客户端... 查看详情

5.1-全栈java笔记:面向对象的特征继承|上

JAVA面向对象进阶本章重点针对面向对象的三大特征:继承、封装、多态,进行详细的讲解。很多概念对于初学者来说,更多的是先进行语法性质的了解,不要期望,通过本章学习就“搞透面向对象”。本章只是面向对象的起点... 查看详情

12.5-全栈java笔记:java网络编程

上节回顾:在学习了Socket在建立客户端和服务器单项通讯中,分别创建独立的Socket,并通过Socket的属性。那么如何将两个Socket进行连接,从而达到客户端和服务器之间建立输入输出流进行通信呢?在上节中我们已经讲到,TCP/IP套... 查看详情

java编程思想笔记(十七)——并发之基本概念和方法(代码片段)

先提前写并发这一块,前面的数组,IO,泛型,注解是知识点很多很小的东西,放到后面写。 确实如书上所说,学到这里都是顺序编程,程序所有事物任意时刻只能执行一个步骤。这远远不够,想... 查看详情

12.6-全栈java笔记:java网络编程

上节回顾:在学习了Socket建立客户端和服务器双向交流后,我们发现它的问答形式不够灵活。本节课我们讲解如何在服务器和客户端之间实现聊天室~需要思考的问题:服务器端:一个线程专门发送消息,一个线程专门接收消息... 查看详情

14.2-全栈java笔记:javaswing创建窗口,原来这么简单!!!

上节我们聊到GUI(GraphicalUserInterface)的概念,并学习GUI编程中主要需掌握两个包,分别是:AWT和Swing,本节我们会通过Swing程序中常用的类和控件来实现第一个窗口。 javax.swing.JFrameJFrame在GUI中为一个窗口对象,继承于Frame。JF... 查看详情

系统编程--基本概念知识笔记

查看详情

java封装的概念学习笔记

  继承、封装、多态、抽象是面向对象编程的四大基本概念,其中封装装为重要,因为从我们学习JAVA开始,就基本上接触了封装,因为JAVA中的所有程序都是写在类中的,类也能当做一种封装。  在面向对象中封装是指 ... 查看详情

12.2-全栈java笔记:tcp协议和udp协议

...发送失败则客户端无法获得。这两种传输方式都是实际的网络编程中进行使用,重要的数据一般使用TCP方式进行数据传输,而大 查看详情

10.2-全栈java笔记:最全面的io技术

上节我们聊到「IO技术概念及入门」这节我们继续聊一下IO技术的分类。Java中流的概念细分按流的方向分类:输入流:数据流向是数据源到程序(InputStream、Reader结尾的流)输出流:数据流向是程序到目的地(OutPutStream、Writer结尾的... 查看详情

14.1-全栈java笔记:java语言中gui到底是神马鬼?|awt|swing

到目前为止,我们在Java中编写的基本都是基于控制台的程序;而Java编程语言之所以如此流行的一个主要原因之一,就是因为它支持图形用户界面功能,即GUI(GraphicalUserInterface)。GUI(GraphicalUserInterface)即图形用户界面,就是... 查看详情

11.8-全栈java笔记:死锁及解决方案

 死锁的概念“死锁”指的是:多个线程各自占有一些共享资源,并且互相等待其他线程占有的资源才能进行,而导致两个或者多个线程都在等待对方释放资源,都停止执行的情形。         &nb... 查看详情

9.5-全栈java笔记:map接口中的实现类hashmap

上节聊到「Map接口和实现类」,今天我们深入探讨其实现类中的HashMap如何进行底层实现。Hashmap基本结构讲解哈希表的基本结构就是“数组+链表”。我们打开HashMap源码,发现有如下两个核心内容:public class  HashMap<K... 查看详情