零基础学Java第二十三天之网络编程Ⅱ

1. InetAddress类

用来表示主机的信息

练习:

C:\Windows\system32\drivers\etc\ hosts

一个主机可以放多个个人网站

www.baidu.com/14.215.177.37

www.baidu.com/14.215.177.38

www.taobao.com/183.61.241.252

www.taobao.com/121.14.89.253

2. Socket

3. TCP编程

API:Socket,ServerSocket

客户端(发送一个请求) 服务端(接收到这个请求,给予响应)

*案例驱动学习:*

3.1. 简单的TCP通信

3.1.1. 编写服务端程序

3.1.2. 编写客户端程序

3.1.3. 客户端向服务端发送请求信息,服务端成功接收

3.1.4. 服务端向客户端发送响应信息,客户端成功接收

3.2. 升级服务端,使其处理多个客户端请求

3.3. 继续优化服务端,让多个客户端的请求无需排队

3.4. 关闭资源-提取工具类

4. TCP案例

任务:

1.基本操作

2.传递文件

3.一对一聊天

4.优化一对一聊天

5. TCP三次握手 和 四次挥手

三次握手·
在这里插入图片描述
四次握手

在这里插入图片描述

6. UDP编程

1.简介

UDP(User Datagram Protocol)用户数据报包协议,UDP和TCP位于同一层-传输层,但它对于数据包的顺序错误或重发没有TCP可靠;UDP是一种面向无连接的通信协议。UDP向应用程序提供一种发送封装的原始IP数据报的方法,并且发送时无需建立连接,不保证可靠数据的传输

UDP — 发短信

TCP — 打电话

*案例:*

6.1. 简单的UDP通信

6.2. 可以一对一随便聊,而且读写分离

2.TCP VS UDP (学习后自行比对)

TCP UDP

是否连接 面向连接 无面向连接

传输可靠性 可靠 不可靠

应用场合 传输大量数据 少量数据

速度 慢 快

3.所需学习类

DatagramPacket —此类表示数据报包

DatagramSocket —此类用来发送和接受数据报包的套接字

SocketAddress getLocalSocketAddress() 返回此套接字绑定的端点的地 址,如果尚未绑定则返回 null。

Void send(DatagramPacket p) 从此套接字发送数据报包。

Void receive(DatagramPacket p) 从此套接字接收数据报包。

MSITStore:C:\Users\apple\Desktop\JDK1.5API_CN(全).CHM::/java/net/…/…/java/net/DatagramPacket.html) p) 从此套接字接收数据报包。

SocketAddress —抽象类,IP+端口号

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/332256.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Windows11平台在VS2022上通过CMake安装C++绘图库ROOT库

Root库是一个功能强大的开源软件框架,用于数据分析、可视化和存储。它最初是为高能物理实验设计的,但现在已经广泛应用于各种科学领域和工程应用中。Root库使用C编写,提供了许多用于数据处理和分析的工具和算法。它的核心功能包括数据存储、数…

tcpdump源码分析

进入tcpdump.c(函数入口)之前,先看一些头文件netdissect.h里定义了一个数据结构struct netdissect_options来描述tcdpump支持的所有参数动作,每一个参数有对应的flag, 在tcpdump 的main 里面, 会根据用户的传入的参数来…

C#基础语言

​​​​ 目录 一个c# 程序主要包括以下部分:​​​​​​​ 标识符 C# 关键字 C# 数据类型 值类型(Value types) 引用类型(Reference types) 对象(Object)类型 动态(Dynam…

总是等不是办法,向媒体投稿你得学会用新方法

初入信息宣传领域,我怀揣着对文字的热爱与传播价值的热情,肩负起了单位活动的宣传报道重任。那时的我,满脑子都是传统的投稿思维:精心撰写每一篇稿件,然后逐一搜寻各大媒体的投稿邮箱,一封封邮件满怀期待地发出,像播撒希望的种子,渴望在广袤的媒体土壤中生根发芽。然而,理想很丰…

YOLOv10尝鲜测试五分钟极简配置

最近清华大学团队又推出YOLOv10,真是好家伙了。 安装: pip install supervision githttps://github.com/THU-MIG/yolov10.git下载权重:https://github.com/THU-MIG/yolov10/releases/download/v1.0/yolov10n.pt 预测: from ult…

C++笔记:三种适配器(分别修饰函数、迭代器、容器)

Algorithms看不见Containers,对其一无所知。所以,它所需要的一切信息都必须从iterators取得,而iterators(由Containers提供)必须能够回答Algorithm的所有提问,才能搭配该Algorithm的所有操作。 1. C 标准库…

国内首个智能体生态大会!2024百度万象大会定档5月30日

最近,百度悄悄「上新」了几个AI神器。 百度搜索上线「互动」功能,可以实时问答,查询信息就像聊天一样简单,还可以艾特相关智能体,更细致精确地满足个性化需求,比如去新加坡旅游,可以让新加坡旅…

智慧校园学工管理系统的部署

学工体系思政服务该怎么规划建造?思政作为高校育人的中心使命,在做到让学生健康高兴生长的一起,也应满意学生生长成才的各类需求。使用技术为学生供给优质的信息化服务,是其间的有效途径。大数据让个性化教育成为可能,…

OTA在线旅行社系统架构:连接世界的科技纽带

随着互联网的快速发展和人们对旅行需求的不断增长,OTA(Online Travel Agency)在线旅行社成为了现代旅行业中的重要一环。OTA系统架构的设计和实现将对旅行行业产生深远影响。本文将探讨OTA在线旅行社系统架构的重要性和关键组成部分&#xff…

人工智能为犯罪地下世界带来了巨大的生产力提升

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗?订阅我们的简报,深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同,从行业内部的深度分析和实用指南中受益。不要错过这个机会,成为AI领…

centos7.9用docker运行一个nginx容器

首先你的linux 系统里面已经安装好了docker,docker的安装教程看这个 1,下载nginx镜像 有很多文章会把镜像下载说成是拉取镜像, 我觉得就是下载的意思啊,搞不懂为什么要说拉取? docker pull nginx 下载最新版 Nginx …

开源的在线JSON数据可视化编辑器jsoncrack本地部署与远程访问

文章目录 1. 在Linux上使用Docker安装JSONCrack2. 安装Cpolar内网穿透工具3. 配置JSON Crack界面公网地址4. 远程访问 JSONCrack 界面5. 固定 JSONCrack公网地址 JSON Crack 是一款免费的开源数据可视化应用程序,能够将 JSON、YAML、XML、CSV 等数据格式可视化为交互…

【移动云】云端赋能——数字化时代游戏与工作的新境界

前言 在当今这个信息化、数字化的时代,云计算、大数据和人工智能等前沿技术已经深入到我们生活的方方面面。作为我国通信行业的领军企业,中国移动凭借其在5G技术领域的领先优势,推出了基于移动云计算技术的云业务品牌——移动云。移动云以云操…

Linux 的性能调优的思路

Linux操作系统是一个开源产品,也是一个开源软件的实践和应用平台,在这个平台下有无数的开源软件支撑,我们常见的apache、tomcat、mysql等。 开源软件的最大理念是自由、开放,那么Linux作为一个开源平台,最终要实现的是…

Overleaf中出现文字越界、越下届、没有正确分页、换页的原因和解决方法

在使用overleaf中,我偶尔会遇到如标题所说的情况,也如图所示: 后来发现,是因为这一页前面是一个表格,所以怀疑是表格的格式导致的。所以让chatgpt帮我更换了表格的格式,成功解决问题。 对于问题可能的成因…

<Python实际应用>用yolov9实现垃圾检测

公司一个项目需要在无人机巡检的画面中识别垃圾和汽车,正好听闻yolov9最新出炉,于是试了一下采用yolov9来搭建该项目 1.下载和部署 下载yolov9:GitHub地址:GitHub代码下载地址 配置环境可以参考之前关于yolov5的文章 Yolov5自学笔记之一-…

【二叉树】LeetCode.144:二叉树的前序遍历(小细节把握)

🎁个人主页:我们的五年 🔍系列专栏:初阶初阶结构刷题 🎉欢迎大家点赞👍评论📝收藏⭐文章 目录 1.题目描述:​编辑 2.问题分析: 🍔函数解读: …

Linux系统启动原理

Linux系统启动原理及故障排除 Centos6系统启动过程 修改系统启动级别 vim /etc/inittabCentos7启动流程 加载BIOS信息,进行硬件检测 根据BIOS设定读取设备中的MBR,加载Boot loader 加载内核,内核初始化以后以模块的形式动态加载硬件 并且加…

【Spring】深入理解 Spring 状态机:简化复杂业务逻辑的利器

前言 在软件开发中,有许多场景需要处理状态转换和状态驱动的逻辑,比如订单处理、工作流程管理、游戏引擎等。Spring 状态机(Spring State Machine)是 Spring Framework 提供的一个强大的模块,用于帮助开发人员轻松构建…

IOT技术怎么落地?以宝马,施耐德为例

物联网技术 物联网(IoT)技术正逐渐成为数字化工厂转型的核心驱动力。本文将通过实际案例,探讨IoT技术如何促进制造业的数字化转型,提高生产效率,降低成本,并提升产品质量。 1. 物联网技术简介 物联网技术通…