Java网络编程基础概念

一、网络编程入门

1.1、软件结构

  • c/s结构:指客户端和服务器结构。如下图
    Java网络编程基础概念_第1张图片

  • B/S结构:指浏览器和服务器结构。如下图
    Java网络编程基础概念_第2张图片
    在这里插入图片描述

  • 共同点:无论哪一种架构,都离不开网络的支持。因此就设计到网络编程(在一定的协议下,实现两台计算机的通信的程序)。
    Java网络编程基础概念_第3张图片

1.2、网络通信协议

  • 网络通信协议:简单理解就是一种计算机网络中连接和通信的规则。
  • TCP/IP协议:传输控制协议/因特网互联协议,它的内部包含一系列的用于处理数据通信,采用4层的分层模型,每一层都呼叫它的下一层所提供的协议来完成自己的需求。
    Java网络编程基础概念_第4张图片

1.3、协议分类

java.net 包中包含的类和接口,它们提供低层次的通信细节。我们可以直接使用这些类和接口,来专注于网络程序开发,而不用考虑通信的细节。
java.net 包中提供了两种常见的网络协议的支持(UDP和TCP)

  • UDP:用户数据报协议,是面向无连接的协议,即传输数据时不需要建立连接,所以也是不可靠协议,传输速度快,但容易丢失数据,在我们日常中常用于聊天、视频等(如qq聊天、视频会议)

特点:数据被限制在64kb,超过则无法发送。
数据报:网络传输的基本单位。

  • TCP:传输控制协议,是面向连接的协议,即传输数据之前,发送端和接收端之间要建立逻辑连接,然后再传送数据,为了连接的可靠,需要建立三次握手:

第一次握手:客户端向服务器端发送请求,等待服务器确认;
第二次握手:服务器端向客户端发出响应,通知客户端已经收到连接请求;
第三次握手:客户端再次向服务器端发送连接请求,确认连接。
Java网络编程基础概念_第5张图片

1.4、网络编程的三要素(协议、IP地址、端口号)

  • 协议:上面已经描述。
  • IP地址:指互联网协议地址,IP地址用来给一个网络中的计算机设备做唯一的编号(即唯一标识)

Java网络编程基础概念_第6张图片

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

网络的通信,本质上是两个进程(应用程序)的通信。每台计算机都有很多的进程,那么在网络通信时,如何区分这些进程呢?
如果说IP地址可以唯一标识网络中的设备,那么端口号就可以唯一标识设备中的进程(应用程序)了。
利用 协议 + IP地址 + 端口号 三元组合,就可以标识网络中的进程了,那么进程间的通信就可以利用这个标识与其
它进程进行交互。
Java网络编程基础概念_第7张图片

二、TCP通信程序

2.1、概述以及步骤

Java网络编程基础概念_第8张图片

以前自己看视频学习的草稿,待完善。。。

你可能感兴趣的:(java程序基础,java,网络,开发语言)