| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 网络协议 -> Java学习笔记17-网络编程 -> 正文阅读 |
|
[网络协议]Java学习笔记17-网络编程 |
网络编程的上层是应用,底层是关注数据如何传输,如何的存储的。 1.IP地址????????(?IP) 是?Internet Protocol 的外语缩写,表示节点,?网络之间互连的协议也就是为计算机网络相互连接进行通信而设计的协议。 分为 : IPV4(4个字节,32位) IPV6 (128位) 特殊IP: 192.168.0.0~192.168.255.255 非注册IP,供组织内部使用 127.0.0.1 本地IP localhost : 本地域名 域名与IP之间的关系: DNS解析器 注:InetAddress 类表示Internet协议(IP)地址
2.端口(port)端口是虚拟的概念,并不是说在主机上真的有若干个端口。通过端口,可以在一个主机上运行多个网络应用程序。可区分不同的软件。 端口 : 区分软件 端口号 2个字节 0~65535 同一协议下端口号不能冲突 建议使用8000以上的,8000以下称为预留端口好 常见的端口: 80 : http 8080 : tomcat 1521 : Oracle 3306 : Mysql 注:InetSocketAddress 此类实现IP套接字地址(IP地址+端口号)它也可以是一对(主机名+端口)
3.URL????????URL全称是Uniform Resource Location,也就是统一资源位置。实际上,URL就是一种特殊的URI,它 除了标识一个资源,还会为资源提供一个特定的网络位置,客户端可以通过它来获取URL对应的资源。(互联网中资源的指针,统一资源定位符) 组成: 协议: http 域名: www.baidu.com 端口号: 80 资源: index.html 提交数据: name=zhangsan&pwd=123 锚点: #a 互联网的三大基石:html、http、URL
4.网络爬虫的原理
5.传输层协议? 先来了解下什么是套接字? 套接字: 传输层为应用层开辟的小口子 不同协议下Socket实现不同 UDP与TCP协议对Socket实现 (1)UDP编程UDP:UDP(UserDatagramProtocol ) 发送短信 非面向连接、不安全、数据可能丢失 、效率高 UDP协议下发送端与接收端两端平等 DatagramSocket 此类表示用于发送和接收数据报包的套接字。 ????????DatagramSocket(int port) 构造一个数据报套接字并将其绑定到本地主机上的指定端口。 ????????void receive(DatagramPacket p) 从此套接字接收数据报包。 ????????void send(DatagramPacket p) 从此套接字发送数据报包。 DatagramPacket 该类表示数据报包。 ????????byte[] getData() 返回数据缓冲区。 ????????int getLength() 返回要发送的数据的长度或接收的数据的长度。 注:数据的传输基于字节数组 UDP实现发送端: 基本流程 ①创建客户端 DatagramSocket类 +指定端口 (定义客户端的监听端口) ???????????????????????????????????????????②准备数据 字节数组 ???????????????????????????????????????????③封装成数据包 需要指定包发送的地址+端口 即服务器地与端口 (打包要发送的数据) ???????????????????????????????????????????④发送数据 ???????????????????????????????????????????⑤关闭释放资源
UDP实现接收端:?①定义接收端创建服务器 DatagramSocket类+指定端口? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?? ???????????????????????????②准备接收容器字节数组 +封装成DatagramPacket数据报 (准备容器接收数据)? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?③接收数据 ? ? ? ? ? ? ? ? ? ? ? ? ? ?④分析处理数据 ? ? ? ? ? ? ? ? ? ? ? ? ? ?⑤关闭释放资源
(2)TCP 编程(重要)????????TCP:TCP(transfer control protocol) 打电话 面向连接、安全、可靠,效率低。 ????????transfer control protocol,一种面向连接(连接导向)的、可靠的、基于字节流的传输层(Transport layer)通信协议的点到点的通信 。TCP 三次握手(Three-way Handshake),类似于拨打电话。(tcp协议下传输数据基于IO流) a)、客户端:在网络通讯中,第一次主动发起通讯的程序被称作客户端(Client)程序 b)、服务器:第一次通讯中等待连接的程序被称作服务器端(Server)程序 ? Socket:发送 TCP 消息 Socket(String host, int port) 创建流套接字并将其连接到指定主机上的指定端口号。 InputStream getInputStream() OutputStream getOutputStream() TCP实现客户端: ????????1.定义我是客户端-->指定要请求的服务器的IP+端口 ????????2.准备数据 ????????3.获取输出流 ????????4.输出-->IO操作 ????????5.刷出 ????????6.关闭
TCP实现服务器端: ????????①创建服务器 指定端口 创建服务器ServerSocket ????????②定义ServerSocket的监听端口(在这个端口接收客户端发来的消息 ????????③获取输入流-->接收客户端的请求数据 ????????④处理数据 ????????⑤关闭
|
|
网络协议 最新文章 |
使用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年12日历 | -2024/12/27 13:40:11- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |
数据统计 |