Java教程

11 网络编程

本文主要是介绍11 网络编程,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

11 网络编程

主要内容:

  • 软件架构CS/BS
  • 网络通信三要素
  • TCP通信
  • Socket套接字
  • ServerSocket

一、网络编程入门

1、软件结构

  • C/S结构

  • B/S结构

2、网络通信协议

  • **网络通信协议:**通信协议是对计算机必须遵守的规则,只有遵守这些规则,计算机之间才能进行通信。

  • TCP/IP协议:传输控制协议/因特网互联协议,是Internet最基本、最广泛的协议。它定义了计算机如何连入因特网,以及数据如何在它们之间传输的标准。它的内部包含一系列的用于处理数据通信的协议,并采用了4层的分层模型,每一层都呼叫它的下一层所提供的协议来完成自己的需求。

    TCP/IP参考模型的层次结构

    应用层HTTP FTP DNS
    传输层TCP UDP
    网络层IP
    数据链路层和物理层由底层网络定义的协议

3、协议分类

java.net 包中提供了两种常见的网络协议的支持:

  • TCP:传输控制协议 (Transmission Control Protocol)。TCP协议是面向连接的通信协议,即传输数据之前, 在发送端和接收端建立逻辑连接,然后再传输数据,它提供了两台计算机之间可靠无差错的数据传输。

    • 三次握手:TCP协议中,在发送数据的准备阶段,客户端与服务器之间的三次交互,以保证连接的可 靠。
      • 第一次握手,客户端向服务器端发出连接请求,等待服务器确认。
      • 第二次握手,服务器端向客户端回送一个响应,通知客户端收到了连接请求。
      • 第三次握手,客户端再次向服务器端发送确认信息,确认连接。
  • UDP:用户数据报协议(User Datagram Protocol)。UDP协议是一个面向无连接的协议。传输数据时,不需 要建立连接,不管对方端服务是否启动,直接将数据、数据源和目的地都封装在数据包中,直接发送。每个数据包的大小限制在64k以内。它是不可靠协议,因为无连接,所以传输速度快,但是容易丢失数据。日常应 用中,例如视频会议、QQ聊天等。

4、网络编程三要素

协议

IP地址

  • 概念:指互联网协议地址(Internet Protocol Address),俗称IP。IP地址用来给一个网络中的计算机设备做唯一的编号。

  • 分类

    • IPv4

    • IPv6

  • 常用命令

    查看本机IP

    ipconfig
    

    检查网络是否连通

    ping 127.0.0.1
    

端口号

如果说IP地址可以唯一标识网络中的设备,那么端口号就可以唯一标识设备中的进程(应用程序)了。

二、TCP通信程序

1、概述

TCP通信能实现两台计算机之间的数据交互,通信的两端,要严格区分为客户端(Client)与服务端(Server)。

两端通信时步骤:

  1. 服务端程序,需要事先启动,等待客户端的连接。
  2. 客户端主动连接服务器端,连接成功才能通信。服务端不可以主动连接客户端。

在Java中,提供了两个类用于实现TCP通信程序:

客户端: java.net.Socket 类表示。创建 Socket 对象,向服务端发出连接请求,服务端响应请求,两者建 立连接开始通信。

服务端: java.net.ServerSocket 类表示。创建 ServerSocket 对象,相当于开启一个服务,并等待客户端 的连接。

2、综合案例

2.1 文件上传案例

文件上传优化分析

  1. 文件名称写死的问题
  2. 循环接收的问题
  3. 效率问题

2.2 信息回写实现

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-jJPkRHPu-1620446087651)(C:\Users\13068\Desktop\javase学习笔记\paint\信息回写实现.png)]

2.3 模拟B\S服务器

模拟网站服务器,使用浏览器访问自己编写的服务端程序,查看网页效果。

这篇关于11 网络编程的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!