http
文章平均质量分 72
锐湃
这个作者很懒,什么都没留下…
展开
-
OkHttp 访问 https 的怪问题
广东分享Android、iOS、Python、Vue等技术资讯、学习笔记,成为有梦想的全栈工程师,欢迎关注。158篇原创内容公众号👋。转载 2024-06-06 16:13:11 · 137 阅读 · 0 评论 -
如何开发一个浏览器插件
前几天,看到了郭神讲述了关于自己如何让Android版本Edge浏览器支持插件的文章,深受震感。当时我在想那该如何开发一个浏览器插件呢?这是我的盲区,因此便有了这篇文章。转载 2024-03-27 16:48:13 · 92 阅读 · 0 评论 -
实现html css富文本解析引擎
自定义Html标签,使得TextView具备更多更强的html解析能力,其次也能自定义标签,并且实现更多css属性样式,整个过程看似复杂,实际上了解了xml或者html解析过程,你就会对控制流更加熟悉。另一个知识点是Android Span标记,我们可以注意到,整个过程打了2次标记,第一次是普通css标记,负责记录css属性值,第二次打上Android Span标记,用于TextView渲染逻辑。转载 2024-03-06 10:39:54 · 337 阅读 · 0 评论 -
java websocket中的ping-pong 机制
connectionLostTimeout在设置后会转为纳秒时间, minimumPongTime为当前纳秒时间减去connectionLostTimeout的1.5倍,当最后一次Pong的时间小于minimumPongTime时产生close,即在间隔时间内未收到Pong响应关闭连接。如果正常则继续发送ping,即调用sendPing。在服务端收到ping的时候,立即下发pong,两者的容忍时间为connectionLostTimeout是1.5倍,即设十秒的话就是容忍十五秒。转载 2024-02-27 19:35:44 · 983 阅读 · 0 评论 -
乒乓缓冲机制
乒乓缓冲应该有两个相同的对象作为缓冲区(对象类型可以是任意的),两者交替地被读和被写。一旦一个缓冲对象被openBuf()打开后,其状态值就被标成相应的“正在进行”状态,这时其它的线程要去打开它的话也就只能阻塞直至其完成操作(除了正在读时另外的读者去打开它时,因为“读”是可以多个线程同时进行的),于是就可以放心大胆地对其进行读写。需要解释一下copydata()方法,它的作用是返回一个缓冲对象的拷贝,因为“读”操作与“写”操作的本质区别是,它原则上是不能修改原对象的,所以要返回一个拷贝供读者对象去“读”。转载 2024-02-27 19:33:57 · 181 阅读 · 0 评论 -
图文详解OkHttp的超时时间
虽然网上有很多关于okhttp超时时间的文章但大多都一笔带过并没有进行详细的讲解各自的作用,于是就看了下源码大致写一下其中的发现.本文以 'com.squareup.okhttp3:okhttp:3.12.0'源码为参考首先我们一共可以设置5个超时时间分别如下:.build();其中callTimeout,readTimeout,writeTimeout和okio的AsyncTimeout有着密不可分的关系,其内部维护了一个Watchdog,单独开一个线程死循环判断是否超时。转载 2024-02-27 19:31:05 · 3032 阅读 · 0 评论 -
Retofit+Okhttp表单上传文件及参数处理大全
Retofit+Okhttp表单上传文件及参数处理大全转载 2024-02-27 19:07:57 · 329 阅读 · 0 评论 -
OkHttpClient设置请求响应时长和请求重试次数
OkHttpClient设置请求响应时长和请求重试次数转载 2024-02-27 18:59:45 · 685 阅读 · 0 评论 -
OkHttp4 RequestBody.create()过时解决办法 kotlin、java版本
前段时间,OKhttp3已升级到Okhttp4 ,编写语言由java过渡到kotlin,而以前okhttp3经常用到的post提交数据的:已过时,并且换成了kotlin的新特性写法!转载 2024-02-27 18:57:54 · 1089 阅读 · 0 评论 -
JDK对Http协议的Keep-Alive的支持,以JDK8为例
但后来客户端的主机突然出故障。 JDK自带的HttpURLConnection,默认启用keepAlive,支持HTTP / 1.1和HTTP / 1.0持久连接, 使用后的HttpURLConnection会放入缓存中供以后的同host:port的请求重用,底层的socket在keepAlive超时之前不会关闭。 Http协议对keep-alive的支持是基于TCP连接的成功建立,而TCP协议是对Http透明的,即TCP协议的Keep-Alive与Http的Keep-Alive是无关的。转载 2024-01-24 15:09:49 · 134 阅读 · 0 评论 -
TCP三次握手与四次挥手、流量控制(滑动窗口)、拥塞控制、半连接状态、2MSL
手机能够使用联网功能是因为手机底层实现了TCP/IP协议,可以使手机终端通过无线网络建立TCP连接。TCP协议可以对上层网络提供接口,使上层网络数据的传输建立在“无差别”的网络之上。标志位含义建立连接响应确认结束RST(reset)重置建立起一个TCP连接需要经过“三次握手”和三次握手逻辑相同,非常相似。四次挥手即终止TCP连接,就是指断开一个TCP连接时,需要客户端和服务端总共发送4个包以确认连接的断开。在socket编程中,这一过程由客户端或服务端任一方执行close来触发。转载 2024-01-17 20:13:52 · 65 阅读 · 0 评论 -
在Android中使用WebSocket
WebSocket是一种通信协议,它提供了一个单一的、长期的连接上的全双工通信通道。它设计用于在Web浏览器和Web服务器中实现,但也可以用于其他应用。与传统的基于请求-响应和无状态的HTTP连接不同,WebSocket允许客户端和服务器之间的双向通信。这使得实时数据交换和推送功能成为可能。转载 2024-01-03 14:10:51 · 1702 阅读 · 0 评论 -
详解TCP、HTTP中的保活机制 | Keepalive和Keep-Alive
HTTP 的 Keep-Alive 也叫 HTTP 长连接,该功能是由「应用程序」实现的,可以使得用同一个 TCP 连接来发送和接收多个 HTTP 请求/应答,减少了 HTTP 短连接带来的多次 TCP 连接建立和释放(销毁)的开销。TCP 的 Keepalive 也叫 TCP 保活机制,该功能是由「内核」实现的,当客户端和服务端长达一定时间没有进行数据交互时,内核为了确保该连接是否还有效,就会发送探测报文,来检测对方是否还在线,然后来决定是否要关闭该连接。参考资料实战——我用“大白鲨”让你看见 TCP。转载 2024-01-02 17:33:19 · 130 阅读 · 0 评论 -
TCP keepalive和HTTP keepalive
结论是,服务端与外界建立的每一个socket连接,都有独立的文件描述符和独立的子进程与客户端通信。HTTP keepalive则是应用层的骚操作,使得服务端的应用程序能自主决定socket的释放,因为TCP keepalive的倒计时默认值很长,web服务的某次连接通常不需要等待那么久。在某个数据包传输后,两个keepalive的定时任务同时存在且一起进入倒计时状态,一个是系统内核TCP相关代码的程序,另一个是高级编程语言(Python/Java/Go等)Web框架代码的程序,他们一起运行并不冲突。转载 2024-01-02 17:25:50 · 164 阅读 · 0 评论 -
Http——Keep-Alive机制 keeplive
翻译成代码,当发送一次请求,得到响应之后,不是调用HttpURLConnection.disconnect方法关闭,这会导致底层的socket连接被关闭。JDK对keepalive的支持是透明的,keepAlive默认就是开启的。举个例子,你搞了一个好项目,想让马云爸爸投资,马爸爸说,"我很忙,最多给你3分钟”,你需要在这三分钟内把所有的事情都说完。例如 Tomcat 的 BIO 实现中,未关闭的连接会占用对应的处理线程,如果一个长连接实际上已经处理完毕,但关闭的超时时间未到,转载 2023-12-28 19:57:22 · 2764 阅读 · 0 评论 -
PING 和 HTTP HEAD 有什么区别 ping http 测试网络可用性
2、ping 通过不同的协议 ICMP。HTTP 是一种不同的协议,由必须在服务器上运行的附加应用程序(Web 服务器)处理(ping 内置于操作系统)。根据网络服务器的重量,相对于 ping 之类的东西,它可能需要更多的时间。HTTP HEAD 仍然是 HTTP:必须在两端之间建立 TCP 连接,并且 HTTP 服务器必须回复您的请求的标头。它显示了大致的延迟,因此,如果您、使用 ping 获得一致的结果,则无法获得比这更低的延迟。与 ping 相比,它的开销要大得多,这就是为什么它需要更长的时间。转载 2023-12-01 14:32:25 · 258 阅读 · 0 评论 -
HTTP和Ping命令区别是什么
ICMP是TCP/IP协议簇的一个子协议,用于在IP主机、路由器之间传递控制消息。它是用来检查网络是否通畅或网络连接速度的命令。HTTP将客户端浏览器的请求发送到服务器,并将响应的网页内容由服务器返回到客户端浏览器。版权声明:本文为CSDN博主「nawuyao」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。原文链接:https://blog.csdn.net/nawuyao/article/details/50389872。转载 2023-12-01 14:28:00 · 329 阅读 · 0 评论 -
使用NanoHttpd在app内搭建https server(二)
知道了概念后,那自签证书的概念就是我们自己充当这个CA机构给自己颁发一个证书,然后想办法让客户端信任这个证书(一般的默认做法是系统会有一个受信任的证书列表,其中就会有存放一些CA机构的根证书),并且证书里面包含了我们的公钥,客户端使用这个公钥进行数据加密,再传输数据,服务端接收并用私钥解开,从而完成整个加解密的通讯过程。需要注意的是,项目中的raw文件需要你自己生成证书,因为证书是有密码的,我自己证书的密码在代码中用******标记了,所以拿到我的keystore.bks也没用。转载 2023-11-15 16:46:40 · 328 阅读 · 0 评论 -
使用NanoHttpd在app内搭建http server(一)
想没想过在自己的Android的 app里内嵌一个http server服务端,这样咱们就可以从PC和手机上的浏览器遥控app了。接下来就使用一个GitHub的开源库Nanohttpd在app内搭建一个小型http的server。上面的IP是我手机流量下的IP地址:如果是连了WiFi的写上WiFi的IP地址也行,端口port自定义就行。依赖库的NanoHTTPD.java,具体对外提供资源访问的代码在重写的serve方法中,这样在android中,一个简单的http server就搭建好了。转载 2023-11-15 16:32:42 · 512 阅读 · 2 评论 -
本地服务器NanoHttpd配置Https双向认证
所谓数字证书,是一种用于电脑的身份识别机制。服务端给客户端发送数据时,需要将服务端的证书发给客户端验证,验证通过才运行发送数据,同样,客户端请求服务器数据时,也需要将自己的证书发给服务端验证,通过才允许执行请求。crt【证书 Certificate】是由证书颁发机构(CA)签名后的证书,或者是开发者自签名的证书,包含证书持有人的信息,持有人的公钥,以及签署者的签名等信息。p12 【是PKCS12的缩写】同样是一个存储私钥的证书库,由.jks文件导出的,用户在PC平台安装,用于标示用户的身份。转载 2023-11-15 16:21:11 · 348 阅读 · 0 评论 -
App线上网络问题优化策略
在我们App开发过程中,网络是必不可少的,几乎很难想到有哪些app是不需要网络传输的,所以网络问题一般都是线下难以复现,一旦到了用户手里就会碰到很多疑难杂症,所以对于网络的监控是必不可少的,针对用户常见的问题,我们在实际的项目中也需要添加优化策略。转载 2023-11-14 14:38:32 · 146 阅读 · 0 评论 -
如何在普通用户下用 80 端口启动 tomcat
2. 添加一个 iptables 规则,将 80 端口转发到 Tomcat 使用的端口上:`sudo iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8080`4. 将 Tomcat 的启动脚本中的端口号改为 80,并在启动命令前加上 authbind 命令:`authbind --deep catalina.sh run`3. 启动 Tomcat,使用默认的端口 8080:`catalina.sh run`转载 2023-10-30 15:55:19 · 347 阅读 · 0 评论 -
WebSocket vs. Socket.IO 在 Kotlin 中的比较
在不断发展的 Web 开发领域中,实时通信已成为创建动态和交互式应用程序的基石。对于 Kotlin 开发者来说,选择适合客户端和服务器之间实时交互的正确技术是一个关键决策。本文深入探讨了两种流行选项:WebSocket 和 Socket.IO。通过探索它们的特性、用例和实际实现,旨在了解哪种技术最适合项目需求。转载 2023-10-24 15:08:42 · 509 阅读 · 0 评论 -
解决Android接入服务器NanoHttpd响应慢的问题
的2.3.1版本访问Android设备图片时很久才会返回内容,20k左右的图片需要17s甚至更久才会返回,无法满足使用要求,百度一下,目前只看到了一篇文章说明其原因和解决方案,根据工作需求,要完成在电脑端访问Android设备文件的功能,也就是说把Android设备作为服务器,电脑作为客户端访问,通过。我没有编译也不知道怎么使用快照,然后直接把源码下载下来copy到项目中,解决了响应慢的问题。可以实现,具体实现过程我就不详细写出了,网上很多内容,实现起来方便快捷,这篇文章主要说的是。转载 2023-09-25 19:56:31 · 353 阅读 · 0 评论 -
关于在android平台使用nanohttpd实现的http服务在WIFI环境下响应明显太慢的问题
本文的标题是按我在实际项目中遇到的情况来表述的,其实这个标题并不准确,当我搞清楚问题的原因后,觉得准确的标题应该是 《关于nanohttpd (2.3.1)运行响应变慢的问题》,也就是说问题的发生与android平台和WIFI环境没有直接关系,与nanohttpd版本有关。所以根本原因就是因为调用InetAddress.getHostName()方法要通过DNS解析来实现,导致产生网络访问,而花费大量时间,与android平台和WIFI环境无关,只是WIFI环境下网络访问延迟大,慢的更明显。转载 2023-09-25 19:53:59 · 222 阅读 · 0 评论 -
JIRA REST API获取所有用户
【代码】JIRA REST API获取所有用户。转载 2023-09-20 09:38:11 · 519 阅读 · 0 评论 -
jira查询user详细信息
jira查询user详细信息原创 2023-09-19 20:03:53 · 338 阅读 · 0 评论 -
JAVA通过HTTP协议下载网络文件
分享一个通过原生的Java代码下载网络资源文件方法,使用URL类连接上网络服务器通过多线程使用I/O流的方式下载文件。原文链接:https://blog.csdn.net/m0_60499221/article/details/128531947。版权声明:本文为CSDN博主「邻家小妹妹」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。下载线程与服务器建立连接,获取到对应的I/O流,将传入的字节写入到下载的本地文件中。启动下载任务线程,传入线程号等参数。转载 2023-09-19 19:26:55 · 1747 阅读 · 0 评论 -
jira rest api上传附件文件
jira rest api上传附件文件转载 2023-09-19 18:16:40 · 502 阅读 · 0 评论 -
java通过http下载文件示例
【代码】java通过http下载文件示例。原创 2023-09-19 18:03:28 · 242 阅读 · 0 评论 -
JIRA的使用介绍(一)- 概念篇
IRA这个工具接触有好几年了,在多个海外项目上都用过这个工具。去年又在项目上深度使用后就有点爱不释手了,回国后也在找机会推荐给其它项目上用。最近正好有新项目需要用,借这个机会把JIRA的配置学习的过程记录下来。转载 2023-09-19 10:29:32 · 959 阅读 · 0 评论 -
JIRA的使用介绍(二)- 配置和使用
IRA的应用配置()很简单和直观,使用管理员账号登陆以后,打开相应的配置页面很快就能搞清楚。配置主要是三块内容:项目(Projects),问题(Issues)和用户管理(User Management)。下面举例说明一个配置过程。配置场景是创建一种新的问题类型“自产提升需求”,为这种类型设置一个流程,并且为这种问题类型定制一个UI页面,增加一个客户化的字段。转载 2023-09-19 10:30:01 · 751 阅读 · 0 评论 -
JIRA的使用介绍(三)- Xray - 基于JIRA的测试管理插件
JIRA是一个流行的产品,除了其自身功能强,可扩展性好以外,JIRA还拥有一个庞大的生态圈。拥有众多的插件开发商、合作伙伴和用户。从产品层面看,JIRA产品具备很强的扩展能力,例如对于问题单类型、流程、表单、字段,报表,通知,权限配置都是可以定制的,而且还内置或者可以定制很多模板(Schemes)方便扩展。另外JIRA产品拥有支持Add-On(插件)的能力,围绕Add-On能力Atlassian公司做了一个App市场,各种外围合作方和供应商可以通过App市场把他们开发的第三方的插件开放给所有JIRA产品的客转载 2023-09-19 10:30:34 · 2207 阅读 · 0 评论 -
JIRA的使用介绍(四)- 高级搜索(JQL)
高级搜索可以让你使用结构化查询搜索JIRA问题单。搜索结果将显示在问题导航器,你可以将其导出到MS Excel等多种格式。你还可以保存和订阅你的高级搜索。当你执行高级搜索时,你是用的是JIRA搜索语言(JQL)。JQL简单查询(也称为一个“语句”)包括一个字段,包括一个运算符、一个或多个值或功能。转载 2023-09-19 10:31:09 · 3304 阅读 · 0 评论 -
jira流转issue条目状态transitions的rest实用脚本,issue状态改变调整
jira流转issue条目状态transitions的rest实用脚本,issue状态改变调整原创 2023-09-12 14:37:52 · 782 阅读 · 0 评论 -
jira获取issue条目transitions id,以用来进行流转实用脚本
jira获取issue条目transitions id,以用来进行流转实用脚本原创 2023-09-11 18:28:12 · 541 阅读 · 0 评论 -
jira搜索search issue条目rest实用脚本
jira搜索search issue条目rest实用脚本原创 2023-09-11 17:30:00 · 400 阅读 · 0 评论 -
apache ftpserver use
apache ftpserver 使用方法示例转载 2023-09-08 18:39:43 · 83 阅读 · 0 评论 -
http文件下载 response响应ContentType与a标签download属性
application/x-msdownload: 网上很多文件说用此Content-Type进行文件下载,虽然也能实现其功能,但由下表可知,此类型对应着.ddl 和 .exe 文件。通过编程方式下载文件,往往需要在response的header中设置Content-Disposition来指定下载文件的名称,如下代码所示。application/octet-stream: 是比较常用的类型,可用于任何类型的文件下载。❗❗❗这种a标签配合download属性下载静态资源的方式,只适用于同源静态资源。转载 2023-09-07 14:00:49 · 3339 阅读 · 0 评论 -
一文读懂 NanoHttpd 微型服务器原理
其方便嵌入式设备(例如:Android设备)中启动一个本地服务器,接收客户端本地部分请求;NanoHttpd的使用,使 “本地代理方式播放Android Sdcard中的m3u8视频” Demo实现变得很简单,这里不做具体介绍,有兴趣的朋友可以自行下载了解。建议: 对于Http request、response 数据组织形式不是很了解的同学,建议自己了解后再阅读NanoHTTPD源码。NanoHTTPD是一个轻量级的、为嵌入式设备应用设计的HTTP服务器,遵循修订后的BSD许可协议。从服务器启动开始学习…转载 2023-09-06 16:34:21 · 1529 阅读 · 0 评论