IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> Day25 网络编程、正则表达式 -> 正文阅读

[网络协议]Day25 网络编程、正则表达式

1. 网络编程

1.1 概述

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

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

1.2 网络通信

1.2.1 通信之IP地址?

通信双方地址

a)IP

b)端口号

一定的规则(即:网络通信协议。有两套参考模型)

c)OSI参考模型:模型过于理想化,未能在因特网上进行广泛推广

d)TCP/IP参考模型(或TCP/IP协议):事实上的国际标准。

2.1.通信要素1:IP地址

?IP 地址:InetAddress

?唯一的标识 Internet 上的计算机(通信实体)

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

?IP地址分类方式1:IPV4 和 IPV6

?IPV4:4个字节组成,4个0-255。大概42亿,30亿都在北美,亚洲4亿。2011年初已经用尽。以点分十进制表示,如192.168.0.1

?IPV6:128位(16个字节),写成8个无符号整数,每个整数用四个十六进制位表示, 数之间用冒号(:)分开,如:3ffe:3201:1401:1280:c8ff:fe4d:db39:1984

?IP地址分类方式2:公网地址(万维网使用)和私有地址(局域网使用)。192.168.? 开头的就是私有址址,范围即为192.168.0.0--192.168.255.255,专门为组织机 构内部使用

?特点:不易记忆

1.2.2 通信之端口号

1.3 网络协议

1.3.1 TCP

1.3.1.1 概述

1.3.1.2 Scoket?

?利用套接字(Socket)开发网络应用程序早已被广泛的采用,以至于成为事实 上的标准。

?网络上具有唯一标识的IP地址和端口号组合在一起才能构成唯一能识别的标 识符套接字。

?通信的两端都要有Socket,是两台机器间通信的端点。

?网络通信其实就是Socket间的通信。

?Socket允许程序把网络连接当成一个流,数据在两个Socket间通过IO传输。

?一般主动发起通信的应用程序属客户端,等待通信请求的为服务端。

?Socket分类:

?流套接字(stream socket):使用TCP提供可依赖的字节流服务数据报套接字(datagram socket):使用UDP提供“尽力而为”的数据报服务

?1.3.1.3 常用方法

?Socket类的常用构造器:

?public Socket(InetAddress address,int port)创建一个流套接字并将其连接到指定IP 地址的指定端口号。

?public Socket(String host,int port)创建一个流套接字并将其连接到指定主机上的指定端口号。

?Socket类的常用方法:

?public InputStream getInputStream()返回此套接字的输入流。可以用于接收网络消息

?public OutputStream getOutputStream()返回此套接字的输出流。可以用于发送网络消息

?public InetAddress getInetAddress()此套接字连接到的远程 IP 地址;如果套接字是未连接的,则返回 null。

?public InetAddress getLocalAddress()获取套接字绑定的本地地址。 即本端的IP地址

?public int getPort()此套接字连接到的远程端口号;如果尚未连接套接字,则返回 0。

?public int getLocalPort()返回此套接字绑定到的本地端口。 如果尚未绑定套接字,则返回 -1。即本端的 端口号。

?public void close()关闭此套接字。套接字被关闭后,便不可在以后的网络连接中使用(即无法重新连接 或重新绑定)。需要创建新的套接字对象。 关闭此套接字也将会关闭该套接字的 InputStream 和 OutputStream。

?public void shutdownInput()如果在套接字上调用 shutdownInput() 后从套接字输入流读取内容,则流将 返回EOF(文件结束符)。 即不能在从此套接字的输入流中接收任何数据。

?public void shutdownOutput()禁用此套接字的输出流。对于 TCP 套接字,任何以前写入的数据都将被发 送,并且后跟 TCP 的正常连接终止序列。 如果在套接字上调用 shutdownOutput() 后写入套接字输出流,? 则该流将抛出 IOException。 即不能通过此套接字的输出流发送任何数据。

1.3.1.4 服务端

1.3.1.5 客户端?

1.3.1.6 多线程阻塞式交互?

1.3.2 UDP

1.3.2.1 概述

1.3.2.2 常用方法?

1.3.2.3 服务端?

1.3.2.4 客户端

1.3.3 UDP和TCP 区别?

2. 网络编程?

2.1 概述

  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2021-07-24 11:51:07  更:2021-07-24 11:51:09 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/25 17:32:53-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码