JavaSE之网络编程(网络通信)

本文介绍了JavaSE中的网络编程,包括计算机网络、网络编程语言Java、网络通信目的以及TCP和UDP两种通信协议。重点讲解了TCP的三次握手、四次挥手过程和UDP的特点。通过Socket类展示了TCP客户端和服务端的通信步骤,以及如何利用DatagramSocket和DatagramPacket进行UDP通信。
摘要由CSDN通过智能技术生成

网络编程

地球村
在这里插入图片描述

1.计算机网络

把分布在不同地理区域的具有独立功能的计算机,通过通信设备与线路连接起来,由功能完善的软件实现资源共享和信息传递的系统。

2.网络编程语言(如java)

Java是 Internet 上的语言,它从语言级上提供了对网络应用程序的 支持,程序员能够很容易开发常见的网络应用程序。

Java提供的网络类库,可以实现网络连接联网的底层细节被隐藏在 Java 的本机安装系统里,由 JVM 进行控制。并且 Java 实现了一个 跨平台的网络库,程序员面对的是一个统一的网络编程环境

我们所编写的程序具备在网络间进行信息传递的,java是支持网路通信.将底层实现细节封装起来.

3.网络编程的目的(网络通信)
(1)目的【重要】

直接或间接地通过网络协议与其它计算机进行通讯

访问百度过程
在这里插入图片描述

(2)有两个主要的问题【重要】

如何准确地定位网络上一台或多台主机

找到主机后如何可靠高效地进行数据传输

如何实现网络中的主机互相通信: (解决)

如何实现网络中的主机互相通信:

1)通信双方地址

IP地址:InetAddress

唯一的标识 Internet 上的计算机

本地回环地址(hostAddress):127.0.0.1 主机名(hostName):localhost

IP地址:公网地址(万维网使用)和私有地址(局域网使用),192.168.

开头的就是私有址址,范围即为192.168.0.0-192.168.255.255,专门为组织机构内 部使用

特点:不易记忆

端口号:标识正在计算机上运行的进程(程序)

不同的进程有不同的端口号 被规定为一个 16 位的整数 0~65535。

端口分类:

公认端口:0-1023,被预先定义的服务通信占用(如:HTTP占用端口80, FTP占用端口21,Telnet占用端口23)

注册端口:1024-49151,分配给用户进程或应用程序。(如:Tomcat占用端 口8080,MySQL占用端口3306,Oracle占用端口1521等)。

动态/私有端口:49152-65535

注:端口号与IP地址的组合得出一个网络套接字

Internet上的主机有两种表示方式:

域名(hostName):www.baidu.com

IP 地址(hostAddress):220.181.111.37

InetAddress类主要表示IP地址,两个子类:Inet4Address、Inet6Address。

I n e t A d d r e s s 类 对 象 含 有 一 个 I n t e r n e t 主 机 地 址 的 域 名 和 I P 地 址 : www.baidu.com和 220.181.111.37

域名容易记忆,当在连接网络时输入一个主机的域名后,域名服务器(DNS)负责 将域名转化成IP地址,这样才能和主机建立连接。 -------域名解析

方法:

InetAddress.getByName(“www.baidu.com”);

getHostAddress();

getHostName();

2)一定的规则(网络通信协议)

网络通信协议

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

通信协议分层的思想

由于结点之间联系很复杂,在制定协议时,把复杂成份分解成一些简单 的成份,再将它们复合起来。最常用的复合方式是层次方式,即同层间可 以通信、上一层可以调用下一层,而与再下一层不发生关系。各层互不影 响,利于系统的开发和扩展。(计算机网络原理自顶向下)
在这里插入图片描述

传输层的两个协议

TCP
  • 传输控制协议TCP(Transmission Control Protocol)

​ 使用TCP协议前,须先建立TCP连接,形成传输数据通道

​ 传输前,采用“三次握手”方式,安全可靠,传输数据大,效率低 (特点)

在这里插入图片描述

TCP协议进行通信的两个应用进程:客户端、服务端

在连接中可进行大数据量的传输

传输完毕,需释放已建立的连接,效率低

在断开时要进行**“四次挥手**
在这里插入图片描述

TCP三次握手四次挥手具体过程
在这里插入图片描述

UDP
  • 用户数据报协议UDP(User Datagram Protocol)

​ 将数据、源、目的封装成数据包,不需要建立连接

​ 每个数据报的大小限制在64K内

​ 因无需连接,故是不可靠的

​ 发送数据结束时无需释放资源,无连接,不安全,传输速度快(特点)

4.通信媒介

Scoket

利用套接字(Socket)开发网络应用程序早已被广泛的

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值