[JavaEE] 网络编程----UDP / TCP 回显服务器

Author:MTingle
major:人工智能

---------------------------------------

Build your hopes like a tower!

文章目录

文章目录

一.客户端VS服务器

二.TCP / UDP 特点

三.UDP 回显服务器

UDP 服务器

UDP 客户端

UDP字典

四.TCP 回显服务器

TCP 服务器

TCP 客户端




一.客户端VS服务器

在网络中,主动发起通信的一方称为"客户端",被动接受的这一方,称为"服务器".同一个程序在不同场景中,可以是客户端,也可能是服务器.客户端给服务器发送的数据,称为"请求"(request),服务器给客户端返回的数据,称为"响应"(response);

客户端与服务器之间的交互有多种模式.

1.一问一答:一个请求对应一个响应.最常见,例如在"web开发"中.

2.一问多答:一个请求对应多个相应.这个场景最要涉及到"下载".

3.多问一答:多个请求对应一个响应.这个场景主要涉及到"上传".

4.多问多答:一个请求可能对应多个响应,一个响应也可能对应多个请求,主要涉及到"远程控制/远程桌面"

二.TCP / UDP 特点

TCP 的特点是:有连接 可靠传输 面向字节流 全双工

UDP 的特点是:无连接 不可靠传输 面向数据报 全双工

有连接 / 无连接: 此处的连接不是物理意义上的连接,而是抽象,虚拟的连接,举个简单的例子,当我们打电话时,一边拨号,一边接通,此时才能通话,如果一方不接通,就无法进行通话,这就叫做有连接,连接首先的特点是双方都能认同.无连接类似发短信,无论你是否同意,我都能给你将信息发过去.计算机中的"网络连接"即是通信双方,各自保存对方的信息,客户端中,有一些数据结构记录了谁是他的服务器,服务器中也有一些数据结构,记录了谁是他的客户端~~

可靠传输 / 不可靠传输: 网络上"异常情况"很多,无论使用什么样的软硬件的技术手段,都无法保证网络数据100%从A运送到B.此处我们的"可靠传输"指的是尽可能的完成数据传输,虽然无法保证数据到达对方,但至少可以知道这个数据对方是否收到了,此处的可靠传输,主要指的是发送的数据没收到,发送方能否清楚地感知到.

面向字节流 / 面向数据报: 此处的字节流和文件中的字节流完全一致,网络中传输的数据的基本单位是字节.面向数据报,每次传输的单位就是一个数据报(特定的结构,数据报由一系列的字节构成).

全双工 / 半双工: 一个信息渠道可以双向通信称为全双工,只能单向通信成为半双工.

三.UDP 回显服务器

核心的类有两个:

1.DatagramSocket: 负责对 socket 文件读写,也就是借助网卡发送数据

2.DatagramPacket: 面向数据报,每次发送接收数据的基本单位,就是一个UDP数据报

UDP 服务器

pu
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值