| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 网络协议 -> java学习第25天学习日志 -> 正文阅读 |
|
[网络协议]java学习第25天学习日志 |
Day25 网络编程、正则表达式
?概述: Java是 Internet 上的语言,它从语言级上提供了对网络应用程 序的支持,程序员能够很容易开发常见的网络应用程序。 Java提供的网络类库,可以实现无痛的网络连接,联网的底层 细节被隐藏在 Java 的本机安装系统里,由 JVM 进行控制。并 且 Java 实现了一个跨平台的网络库,程序员面对的是一个统一 的网络编程环境。 1.2?网络通信 计算机网络: 1.3通信之IP地址 通信双方地址 a)IP b)端口号 一定的规则(即:网络通信协议。有两套参考模型) c)OSI参考模型:模型过于理想化,未能在因特网上进行广泛推广 d)TCP/IP参考模型(或TCP/IP协议):事实上的国际标准。 1.4.通信要素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.5???????通信之端口号 端口号标识正在计算机上运行的进程(程序 端口分类: ????????动态/私有端口:49152~65535。 ·端口号与P地址的组合得出一个网络套接字:Socket。 2.1???????网络协议 ????????2.1.1TCP??概述: 传输层协议中有两个非常重要的协议: 2.1.2Scoket: 利用套接字(Socket)开发网络应用程序早已被广泛的采用,以至于成为事实 上的标准。 l网络上具有唯一标识的IP地址和端口号组合在一起才能构成唯一能识别的标 识符套接字。 l通信的两端都要有Socket,是两台机器间通信的端点。 l网络通信其实就是Socket间的通信。 lSocket允许程序把网络连接当成一个流,数据在两个Socket间通过IO传输。 l一般主动发起通信的应用程序属客户端,等待通信请求的为服务端。 lSocket分类: 流套接字(stream socket):使用TCP提供可依赖的字节流服务数据报套接字(datagram socket):使用UDP提供“尽力而为”的数据报服务 2.1.3常用方法 lSocket类的常用构造器: 1.public Socket(InetAddress address,int port)创建一个流套接字并将其连接到指定IP 地址的指定端口号。 2.public Socket(String host,int port)创建一个流套接字并将其连接到指定主机上的指定端口号。 lSocket类的常用方法: 3.public InputStream getInputStream()返回此套接字的输入流。可以用于接收网络消息 4.public OutputStream getOutputStream()返回此套接字的输出流。可以用于发送网络消息 5.public InetAddress getInetAddress()此套接字连接到的远程 IP 地址;如果套接字是未连接的,则返回 null。 6.public InetAddress getLocalAddress()获取套接字绑定的本地地址。 即本端的IP地址 7.public int getPort()此套接字连接到的远程端口号;如果尚未连接套接字,则返回 0。 8.public int getLocalPort()返回此套接字绑定到的本地端口。 如果尚未绑定套接字,则返回 -1。即本端的 端口号。 9.public void close()关闭此套接字。套接字被关闭后,便不可在以后的网络连接中使用(即无法重新连接 或重新绑定)。需要创建新的套接字对象。 关闭此套接字也将会关闭该套接字的 InputStream 和 OutputStream。 10.public void shutdownInput()如果在套接字上调用 shutdownInput() 后从套接字输入流读取内容,则流将 返回EOF(文件结束符)。 即不能在从此套接字的输入流中接收任何数据。 11.public void shutdownOutput()禁用此套接字的输出流。对于 TCP 套接字,任何以前写入的数据都将被发 送,并且后跟 TCP 的正常连接终止序列。 如果在套接字上调用 shutdownOutput() 后写入套接字输出流, ?则该流将抛出 IOException。 即不能通过此套接字的输出流发送任何数据。 2.2UDP 2.2.1概述: 流程: 2.2.2常用方法 三.正则表达式 3.1概述 正则表达式:定义了字符串的匹配模式 3.2语法 正则表达式:定义了字符串的匹配模式* 3.3Parrern * Pattern :创建正则表达式对象,能做一些基本的简单操作★ 3.3.1使用 ? ?3.4Matcher 3.4.1概述 构造方法也是私有的,不能随意创建,只能通过Pattern.matcher(CharSequence input)方法得到该类的实例 Matcher m = p.matcher("aaaaab"); l支持便捷强大的正则匹配操作,包括分组、多次匹配支持 3.4.2三大方法 Matcher.matches():对整个字符串进行匹配,只有整个字符串都匹配了才返回true Matcher.lookingAt():对前面的字符串进行匹配,只有匹配到的字符串在最前面才返回true Matcher.find():对字符串进行匹配,匹配到的字符串可以在任何位置 3.4.3字符串匹配 ?3.4.4数据提取 ?3.3.5叠词去重 ? |
|
网络协议 最新文章 |
使用Easyswoole 搭建简单的Websoket服务 |
常见的数据通信方式有哪些? |
Openssl 1024bit RSA算法---公私钥获取和处 |
HTTPS协议的密钥交换流程 |
《小白WEB安全入门》03. 漏洞篇 |
HttpRunner4.x 安装与使用 |
2021-07-04 |
手写RPC学习笔记 |
K8S高可用版本部署 |
mySQL计算IP地址范围 |
|
上一篇文章 查看所有文章 |
|
开发:
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:31- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |