
网络通信
文章平均质量分 90
ywl470812087
个人简介:深耕物联网行业,ERP,优快云博客专家。 任职华为网联网智慧照明、空调资深工程师,并且上线投产使用,研发企业亿量级吞吐中间件。 擅长 Java语言、C语言等。
展开
-
get请求可以传body吗_GET 和 POST 的区别?
同样还是面试被问到的问题,经过这两天的复盘,发现之前对其的了解只是冰山一角,这两天也学到了不少新的知识,不得不说面试的确能帮我们弥补一些不足。本文将从基本概念、两者之间的区别以及几个常见问题来进行介绍,首先我们先来明确几个概念基本概念HTTP定义了与服务器进行交互的不同方法,常见的有四种:GET、POST、PUT、DELETE。其中,GET和POST最常用。GET用来获取资源,它只是获取、查询数据,不会修改服务器的数据,从这点来讲,它是安全的(后面还会从另一方面分析它的不安全性)。由于它是读取的原创 2022-01-23 19:57:46 · 8245 阅读 · 1 评论 -
httpClient批量下载图片
package cn.itcast.springboot.javaconfig.test;import java.io.File;import java.io.IOException;import java.io.InputStream;import org.apache.commons.io.FileUtils;import org.apache.http.HttpEntity;i...原创 2019-04-08 18:14:43 · 109565 阅读 · 3 评论 -
java通过url读取网络图片
使用java.net读取网络文件import java.io.BufferedInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.net.HttpURLConnection; import java.net.URL; publi...原创 2019-04-08 18:06:22 · 147885 阅读 · 2 评论 -
java获取远程网络图片文件流、压缩保存到本地
1.获取远程网路的图片 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 /** * 根据地址获得数据的字节流 * ...原创 2019-04-08 18:08:04 · 125357 阅读 · 1 评论 -
如何实现一个简单的RPC
在如何给老婆解释什么是RPC中,我们讨论了RPC的实现思路。那么这一次,就让我们通过代码来实现一个简单的RPC吧!RPC的实现原理正如上一讲所说,RPC主要是为了解决的两个问题:解决分布式系统中,服务之间的调用问题。 远程调用时,要能够像本地调用一样方便,让调用者感知不到远程调用的逻辑。还是以计算器Calculator为例,如果实现类CalculatorImpl是放在本地的,那么...转载 2019-10-13 09:51:59 · 108662 阅读 · 0 评论 -
如何给老婆解释什么是RPC
一个阳光明媚的早晨,老婆又在翻看我订阅的技术杂志。“老公,什么是RPC呀,为什么你们程序员那么多黑话!”,老婆还是一如既往的好奇。“RPC,就是Remote Procedure Call的简称呀,翻译成中文就是远程过程调用嘛”,我一边看着书,一边漫不经心的回答着。“啥?你在说啥?谁不知道翻译成中文是什么意思?你个废柴,快给我滚去洗碗!”“我去。。。”,我如梦初醒,我对面坐着的可不是一个程...转载 2019-10-13 09:49:41 · 119852 阅读 · 1 评论 -
TCP三次握手和四次挥手过程
1、三次握手(1)三次握手的详述首先Client端发送连接请求报文,Server段接受连接后回复ACK报文,并为这次连接分配资源。Client端接收到ACK报文后也向Server段发生ACK报文,并分配资源,这样TCP连接就建立了。最初两端的TCP进程都处于CLOSED关闭状态,A主动打开连接,而B被动打开连接。(A、B关闭状态CLOSED——B收听状态LISTEN——A同步已...原创 2019-10-09 21:38:12 · 136602 阅读 · 0 评论 -
TCP协议三次握手
TCP协议三次握手过程分析TCP(Transmission Control Protocol) 传输控制协议TCP是主机对主机层的传输控制协议,提供可靠的连接服务,采用三次握手确认建立一个连接:位码即tcp标志位,有6种标示:SYN(synchronous建立联机) ACK(acknowledgement 确认) PSH(push传送) FIN(finish结束) RST(reset重...原创 2019-01-10 09:23:07 · 126929 阅读 · 0 评论 -
Netty从零开始(一)
现在我们使用通用应用程序或包进行通信。例如,我们经常使用HTTP客户端库从Web服务器检索信息,并通过Web服务调用远程过程调用。然而,通用协议或其实现有时不能很好地扩展。这就像我们不使用通用HTTP服务器来交换大量文件,电子邮件和近实时消息,如财务信息和多人游戏数据。需要的是高度优化的协议实现,专门用于特殊目的。例如,您可能希望实现针对基于AJAX的聊天应用程序,媒体流或大型文件传输进行了优化的...转载 2018-08-25 15:22:35 · 152893 阅读 · 0 评论 -
BIO与NIO、AIO的区别
BIO与NIO、AIO的区别(这个容易理解) IO的方式通常分为几种,同步阻塞的BIO、同步非阻塞的NIO、异步非阻塞的AIO。一、BIO 在JDK1.4出来之前,我们建立网络连接的时候采用BIO模式,需要先在服务端启动一个ServerSocket,然后在客户端启动Socket来对服务端进行通信,默认情况下服务端需要对每个请求建立一堆线程等待请求,而客户端发送请求后,先咨询服...转载 2018-08-25 15:04:26 · 107572 阅读 · 0 评论 -
Netty入门(二)时间服务器及客户端
在这个例子中,我在服务器和客户端连接被创立时发送一个消息,然后在客户端解析收到的消息并输出。并且,在这个项目中我使用 POJO 代替 ByteBuf 来作为传输对象。一、服务器实现1. 首先我们自定义传输数据对象 1 package com.coder.client; 2 3 import java.util.Date; 4 5 /** 6 * 自定义时间数...转载 2018-08-28 15:49:17 · 134438 阅读 · 0 评论 -
Netty入门(一)环境搭建及使用
一、项目创建 在 Eclipse 中右键,新建->项目->Maven->Maven Project->下一步->选择 quickstart 下一步->设置如图(参数自取) 点击完成。 项目会自动创建 pom.xml 文件,打开该文件,点击 Dependencies标签->Add..,设置如图(参数由 Netty 版...转载 2018-08-28 15:34:05 · 166689 阅读 · 5 评论 -
BIO与NIO、AIO的区别
BIO与NIO、AIO的区别(这个容易理解) IO的方式通常分为几种,同步阻塞的BIO、同步非阻塞的NIO、异步非阻塞的AIO。一、BIO 在JDK1.4出来之前,我们建立网络连接的时候采用BIO模式,需要先在服务端启动一个ServerSocket,然后在客户端启动Socket来对服务端进行通信,默认情况下服务端需要对每个请求建立一堆线程等待请求,而客户端发送请求后,先咨询服...转载 2018-08-22 22:23:09 · 108257 阅读 · 0 评论 -
Netty 5用户指南
问题现如今我们使用通用的应用程序或者类库来实现系统之间地互相访问,比如我们经常使用一个HTTP客户端来从web服务器上获取信息,或者通过web service来执行一个远程的调用。然而,有时候一个通用的协议和他的实现并没有覆盖一些场景。比如我们无法使用一个通用的HTTP服务器来处理大文件、电子邮件、近实时消息比如财务信息和多人游戏数据。我们需要一个合适的协议来处理一些特殊的场景。例如你可以...转载 2018-08-26 13:11:47 · 103290 阅读 · 0 评论