论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
朋友圈
看朋友圈动态,了解ToB世界。
ToB门户
了解全球最新的ToB事件
博客
Blog
排行榜
Ranklist
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
导读
Guide
相册
Album
记录
Doing
搜索
本版
文章
帖子
ToB圈子
用户
免费入驻
产品入驻
解决方案入驻
公司入驻
案例入驻
登录
·
注册
只需一步,快速开始
账号登录
立即注册
找回密码
用户名
Email
自动登录
找回密码
密码
登录
立即注册
首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
圈子
SAAS
ToB企服应用市场:ToB评测及商务社交产业平台
»
论坛
›
软件与程序人生
›
后端开发
›
Java
›
JavaSE基础知识分享(十三)
JavaSE基础知识分享(十三)
嚴華
金牌会员
|
2024-8-22 17:38:17
|
显示全部楼层
|
阅读模式
楼主
主题
915
|
帖子
915
|
积分
2745
写在前面
今天继续讲Java中的网络编程的知识!
网络编程
概述
计算机网络
计算机网络是将地理位置不同的具有独立功能的多台计算机及其外部装备,通过通信线路连接起来,在网络操作系统、网络管理软件及网络通信协议的管理和协调下,实现资源共享和信息传递的计算机系统。例如:极域。
网络编程
网络编程是实现网络互连的不同计算机上运行的程序间可以进行数据交换的技术。
网络参考模子图
表明
网络模子7层概述:
物理层
主要定义物理装备标准,如网线的接口范例、光纤的接口范例、各种传输介质的传输速率等。
主要作用是传输比特流(由 1、0 转化为电流强弱来进行传输)。
数据单位:比特。
数据链路层
将从物理层接收的数据进行 MAC 地址的封装与解封装。
数据单位:帧。
主要装备:交换机。
网络层
将从下层接收到的数据进行 IP 地址的封装与解封装。
数据单位:数据包。
主要装备:路由器。
传输层
定义了数据传输的协议和端口号(如 WWW 端口 80)。
主要协议:TCP(传输控制协议)、UDP(用户数据报协议)。
数据单位:段。
会话层
通过传输层建立数据传输的通路,发起或担当会话请求。
装备之间需要互相认识(可以是 IP 地址、MAC 地址或主机名)。
表示层
对接收的数据进行表明、加密与解密、压缩与解压缩等。
将计算机能识别的东西转换成人能识别的东西(如图片、声音等)。
应用层
终端应用,如 FTP(文件下载)、WEB(浏览器)、QQ(聊天)等。
网络通信三要素
IP 地址
网络中装备的标识,不易影象,可用主机名。
IP 地址的组成:网络号码 + 主机地址。
A 类 IP 地址
: 1.0.0.1—127.255.255.254。
例如 10.X.X.X 是私有地址。
127.X.X.X 是保留地址,用做循环测试用的。
B 类 IP 地址
: 128.0.0.1—191.255.255.254。
172.16.0.0—172.31.255.255 是私有地址。
169.254.X.X 是保留地址。
C 类 IP 地址
: 192.0.0.1—223.255.255.254。
192.168.X.X 是私有地址。
D 类 IP 地址
: 224.0.0.1—239.255.255.254(多播地址)。
E 类 IP 地址
: 240.0.0.1—247.255.255.254(保留地址)。
查看本机 IP 地址
DOS 命令: ipconfig
CentOS 7: ip addr
CentOS 6: ifconfig
端口号
用于标识进程的逻辑地址,不同进程的标识。
有效端口范围:0—65535,此中 0—1024 为系统使用或保留端口。
通过 netstat -ano 可以查看端口号。
传输协议
通讯的规则。
常见协议:TCP、UDP。
InetAddress 类的使用
获取和操作 IP 地址
静态方法
:使用 InetAddress 类的静态方法获取 InetAddress 对象,再进行操作。
方法
InetAddress[] getAllByName(String host)
返回指定主机名称的 IP 地址数组。
InetAddress getByAddress(byte[] addr)
根据原始 IP 地址返回 InetAddress 对象。
InetAddress getByAddress(String host, byte[] addr)
根据主机名和 IP 地址创建 InetAddress 对象。
InetAddress getByName(String host)
确定主机名称的 IP 地址。
Socket
Socket 套接字
网络上具有唯一标识的 IP 地址和端口号组合在一起构成套接字。
Socket 原理机制
:通信的两端都有 Socket,通过 IO 传播输数据。
UDP
概述
使用 DatagramSocket 和 DatagramPacket 进行 UDP 网络编程。
步调
:
建立 UDP 的 socket 服务。
将数据封装成数据包。
通过 UDP 的 socket 服务发送数据包。
关闭资源。
实现
:
发送端
接收端
TCP
概述
使用 Socket 和 ServerSocket 进行 TCP 网络编程。
步调
:
客户端建立 Socket 服务并连接服务器。
建立数据传输通道,通过 IO 流进行数据的读取和写入。
关闭资源。
实现
:
客户端
服务器端
TCP 传输问题
问题
:客户端连接上服务端,两端都在等待,没有任何数据传输。
解决办法:
自定义竣事标志。
使用 shutdownInput 和 shutdownOutput 方法。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
本帖子中包含更多资源
您需要
登录
才可以下载或查看,没有账号?
立即注册
x
回复
使用道具
举报
0 个回复
倒序浏览
返回列表
快速回复
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
or
立即注册
本版积分规则
发表回复
回帖并转播
回帖后跳转到最后一页
发新帖
回复
嚴華
金牌会员
这个人很懒什么都没写!
楼主热帖
【万能皆可链接】C++中的动态链接库编 ...
iOS全埋点解决方案-用户标识 ...
用uniapp实现微信小程序的电子签名效果 ...
MySQL实战45讲 20
【云服务器】推荐阿贝云服务器,目前永 ...
【Javaweb】Web工作原理、两种网页、两 ...
【Selenium+Pytest+allure报告生成自动 ...
Qt-FFmpeg开发-打开本地摄像头(6) ...
Spring Boot 配置文件
微服务介绍
标签云
存储
挺好的
服务器
快速回复
返回顶部
返回列表