嗯,咱们这个视频啊,就是给大家把这个断开重连,然后给实现一下,我现在我这个地方,然后有了一个我给后面就是我给我的插件传了一个断开重连的一个参数,咱们在插件里面进行一个结束, 一个塔,咱们在外国收费站里面,他有一个 方法,然后就是能够知道我有没有断开重连,就有没有断开重连,当我断开重连的时候呢,然后我就会去执行这个方法,也就是说咱们的一个啊 ctrl 方法,咱们在下面进行一个实现, 我已经实现了,因为刚刚我已经写过一遍了,咱们可以我断开的时候,我就执行这个方法, 而我这个方法里面我调用了我这个方法,咱们拆出来把他们实现一下。 嗯,把咱们的这个时间给他放进来,放进来之后呢,咱们重新隐匿了一下咱们这个 外部骚给他,这也就是我为什么让没把我的又一个外部骚给他放到我的过道器里面去,而我把它放到了一个方法里面, 这样的话咱们就能够就是实现以后没多少秒我就去练,就是我去执行一次我这个方法,当我就是断开的时候,但是现在的话,咱们还得给他进行一个接收, 把咱们的这个计时器进行一个结束,因为咱们还要把这个计时器给清掉呢, 咱们还要把这个计时器给清掉,什么时候清掉呢?当然是咱们在咱们执行成功的时候,咱们把它给,就是链接成功的时候给它清掉, 没时间 咱们链接成功的时候,咱们就要把这个给他进行清掉。其实现 有一个问题,这个问题的话我给大家来演示一下,大家就能够啊,我直接说吧,还是因为现在咱们这个问题呢?因为你看哈,当咱们每一次都去,然后隐匿他一下,就如果说断开窗帘的时候, 他这个计时器你一直调用,一直调用,一直调用,他是一个累积的,他是一个累积的。当咱们就是突然连接成功之后,他会一次性给后台推很多很多的东西,所以说咱们需要还得在这个地方这个计时器给他清一下 时间,咱们穿过来接受一下,过来放过来。现在的话基本上是 实现了这个断开重连的,但是一个断开重连的次数他们还没有弄。嗯,现在给大家演示一下。我把这个关掉, 没有定义吗?啊,定义了好,没事,没有保存,我们来刷新一下 说我没有定义这一个 哦,咱们多写了一个历史 看一下。 我每两秒,然后我都会去重新连接一次。当我们把外部 sokit 服务起来, 我成我是成功的毁掉现在这个地方。是咱们就是已经把这个重连上了,重连上了之后,他就不再去继续执行 咱们的这个充电方法了。但是如果说我把这个可利亚硬的板,然后给大家去掉,现在的话是连接成功的,没有什么毛病。但是如果说我把它关掉之后,大家看一下就能知道了。 so 先让他多走几个,走了之后 咱们重启一下看一下啊,他会一次性,我是成功毁掉,我是成功毁掉,他会一一直往下走下去。这就是我刚才说的那个 他的一个累积。所以说咱们在这个地方试掉,用之前就把计时器给他清掉, 这样的话,咱们的断开重连,然后就实现了。
粉丝647获赞458

最近面了个三年前端,我问他 webcib 实时通信异常怎么处理,他脱口而出监听断开事件,手动重连页面刷新就够用了。我点点头, 笑着问了他一个真实发生的线上事故,假设客服聊天系统直播间实时弹幕功能项目全程用 wedebax 做长连接通信 开发也写了断开监听和基础重连逻辑。结果线上用户切换网络锁屏、切后台入网环境时频繁出现连接断开消息收不到,聊天消息丢失。有时候重连成功后,绘画状态错乱,消息重复推送刷新页面才恢复正常,严重影响用户实时交互体验。 明明基础重联逻辑都写好了,却还是各种异常频发。问题出在哪儿?他想了想,只说是网络不稳定导致,却说不出完善的重联策略和融错兜底方案。 我追问,那怎么设计稳健的 web safe 长连接架构,实现自动重联、消息不丢、状态同步、弱网兼容?难道只靠简单监听断开就一劳永逸?他开始吱吱呜呜, 面试到这就结束了。这正是 websafe 实时通信的幽灵陷阱。你以为写个 unclose 重联就能应付面试,却忽略了弱网抖动重联、风暴、消息队列积压、页面休眠断联这些隐形坑点。 假如这道题目你也不会回答的话,我整理了让大厂 hr 沉默的必考题库,包含 v o l 灵魂拷问、 react 高频陷阱、 j s 十连问等等。只要是我粉丝留下,六六六打包带走。 nice! 为什么这个问题能晒出高手?因为他考察的不是会不会建立 webx 连接,而是有没有吃透长连接生命周期、网络异常适配、消息可信保障的前端必须建立三层防御。第一层,基础连接规范 规避基础坑点,统一封装 web socket 工具类,统一管理连接。创建监听,关闭、销毁, 不零散散落业务页面,区分正常关闭和异常断连。业务手动关闭,不触发重连。网络异常服务掉线,自动触发重连。 鸥使化配置连接地址、心跳检测间隔,定时发送心跳包,检测服务端存活,提前感知断线。第二层,智能重连策略,避免重连风暴,采用指数退币,重连第一次一秒,第二次两秒逐步递增,不无脑高频重连,压垮服务端 限制最大重连次数,超出次数后给出用户友好提示,不再无限重试,节省浏览器资源。页面休眠。切后台锁屏时暂停重连,回到前台自动恢复连接,适配移动端和 pc 端页面生命周期。第三层,消息兜底与状态同步,保障不丢消息, 建立本地消息队列,断联期间暂存待发送消息,重联成功后批量补发,杜绝消息丢失。每条消息携带唯一 id 做前端密等处理,防止重联后重复推送,重复渲染聊天和弹幕内容, 监听网络状态变化,网络从离线切回,在线时主动触发一次连接校验,自动恢复。实时绘画,这个就叫专业。 所以这道题考的是什么?它考的是你从只会简单建立长连接升级为实时通信架构设计、弱网适配、消息可能性兜底的工程思维。普通前端以为 web c p 就是 连上发消息,而高级前端知道 稳健长连接是心跳检测智能重联、消息队列状态同步,将结合的完整实时通信保障体系。

java 后端面试里,文件上传绝对是高频考点,尤其是大文件分片上传和断点续传基本是必问的压轴题,很多面试的小伙伴只会背死板的流程,一旦面试官深挖实际开发遇到的坑、异常场景还有容错处理, 立马就卡壳丢分。今天我用四分钟时间把大文件上传、断点续传,所有面试和工作中的核心坑点,结合后端真实解决方案一次性讲透。同时我也整理了一套让大厂 hr 沉默的面试题, 包含 java 基础、 spring 全家桶、 my sql database、 微服务、分布式实战和 ai 代码落地面试题。只要是我粉丝,甩六六六,打包带走 nice! 很多同学疑惑,小文件能够直接上传,大文件却必须分片处理。 spring mac 原声上传会一次性加载全部文件流,大文件极易触发 o o m 内存溢出,同 同时 gatsby 由请求体大小限制,直传大文件会直接报四幺三异常。因此业内都是前端分片,后端合并,搭配断点续传实现上传。但这套通用方案暗藏很多新手易踩的隐形坑,也是面试官重点追问的核心考点。 首先说分片上传的三个核心大坑,第一个就是分片乱序导致最综合并的文件损坏。网络传输本身是无序的,前端先发的分片有可能后到服务器,后发的分片反而先到。如果你的后端代码是收到分片,就直接追加写入,最后合并出来的文件一定是破损打不开的。正确的后端做法是 绝不直接追加写入,每一个分片全部上传完成,校验分片数量完整之后,再根据分片的 index 序号,从小到大排序合并, 彻底解决乱序问题。第二个坑,重复分片上传,造成服务器资源浪费,用户网络抖动,刷新页面误操作重传都会导致前端重复上传。已经传过的分片,如果后端不做校验,就会重复存储,重复写入,浪费硬盘空间和内存, 高病发下还会拖垮服务标准。解决方案就是用文件 md 五加分片序号做唯一 key 存在数据库,每次上传前先叫验,已经上传过的分片直接返回,成功跳过重复上传,完美节省服务器资源。第三个坑,也是线上最致命,面试最容易忘的点就是临时文件堆积,最后冲爆磁盘。 很多同学只做上传和合并,完全不清理垃圾文件,用户传了一半关掉页面,网络断掉,中途放弃上传,服务器就会遗留大量无效临时分片,这些文件长期堆积,最后直接导致磁盘爆满,服务宕积。所以后端必须做兜底, 开启定时任务,定时清理二十四小时以上没有完成合并的过期分片,同时清理对应 read 缓存,保证服务长期稳定运行。讲完分片上传,再说说断点续传,这是面试的重头戏,也是九成求职者达不全的地方。 首先断点续传的核心就是上传中断后不用从头重传,只传没传完的分片。这里有两个核心大坑。第一个坑,用文件名做续传标识,导致续传错乱,很多新手图方便直接拿文件名当 key 识别文件,但文件名可以改, 可以重复,用户改个名字重传,或者传同名文件,直接断点错乱覆盖文件,续传彻底失效,真正的标准答案一定是用文件 md 五作为一标识 文件,内容不变, md 五就不变,不管改文件名、换设备,都能精准识别上传进度。第二个坑,分片大小不统一导致续传失败。第一次上传用五百一十二 kb 分 片, 刷新页面后,前端改成一兆分片,新旧分片规格对不上,旧分片直接作废。续传完全失效,后端必须强制管控,第一次上传的时候就把分片大小存入 ready, 后续所有续传请求必须校验,分片大小一致不一致直接拒绝,避免数据错乱。最后给大家一个面试超级加分的细节, 面试官最后大概率会问,怎么保证上传后的文件完整,没有丢包?记住,文件合并完成之后,后端要重新计算完整文件的 md 五和前端传过来的原始文件 md 五作比对一致才算上传成功,不一致就直接删除破损文件返回失败。最后快速总结一下面试问到这个题, 你就这么答!大文件分片上传主要解决 o o m 和四一三报错核心要处理分片乱序、重复上传、临时文件堆积三大问题。断点续传靠 md 五唯一标识文件,固定分片规则, 持久化进度,定时清理过期文件。最后 m d 五校验文件完整性。这一套就是 java 后端面试最标准最落地,完全贴合生产环境的满分答案!吃透这些坑点,面试官绝对对你印象拉满!

今天给大家分享的是一个非常容易漏掉的测试点, web socket。 先来看百场案例,点账号密码进行登录,发现了已经有 web socket 进行连接了,开启 b p, 找到拦截里面的 web socket 历史记录, 看到一个不一样的箭头,点击,然后发送到重放器里面,然后重新连接一下 perl, 从二改为一,就可以拿到你想要的东西了。 这里你可以理解为 web socket 就是 一个接口,这个接口也有 id 等参数,你只要拿到这个数据包,按照正常调接口测试即可。 比如修改 id 为其他的 id 实现月权,或者是修改 user 为 admin 都是有可能的。很多研发对接口防护的很好,但是会遗漏 web socket 相关的防护。今天要学习的内容就到这里结束了,有什么不懂的或者想学的都可以评论区留言哦,风里雨里好坝场等你! 所有演示都在合规靶场进行,只做安全科普与技术学习。我是大宝,每天分享安全测试干货,带你了解后端容易忽略的安全漏洞。

codex 跑一个大任务两小时,跑到一半突然终端关了,或者网断了,所有进度全没。这是用过 codex 都遇到过的痛点,丢一次进度,心态直接崩。 hermes 的 解法是三步把进度接住,一步都不能省。第一步是任务拆分, hermes 会在任务开始前把大任务自动切成小单元, 每个单元十五到三十分钟能跑完,力度小到出问题也能快速重跑,不会一掉就丢。两小时,这个力度是踩过坑摸出来的。 第二步是状态外置, codex 跑每一步的中间,结果会被 hermes 实时写到本地存储里,包括用了哪些文件,改了哪些地方,跑到第几步,当前的上下文摘要用到的外部工具调用全部留痕,不依赖 codex 自己的内存,关掉终端也丢不了。第三步是断点续跑, 任务中断后, hermes 读最后一个状态记录,直接从中断点接着跑。把之前的上下文重新组装好喂回去。不用从头再来,也不用你重新交代背景,接续无感。这套价格跑下来长任务的完成率会有明显提升, 人也不用一直守在电脑前盯进度,注意力解放。我用这个方案跑过几个上千行代码的重构任务,中间断过两次都自动接上了,最长一次跑了六小时,没人盯也照样完成你的长任务掉过链子吗?评论区聊聊你踩过哪些坑。

道路设计变更之后,里层桩号出现断点或者重叠,这种情况叫做锻炼。锻炼分为两种,锻炼后的里层比锻炼前的里层小则叫重炼,反之则叫短炼。不处理锻炼,直接放样,坐标偏差可能达几十米,整条路的施工测量全部失效。 设备锻炼功能直接添加已成,自动在后台进行换算超能源,无需手动计算,放样一步到位。这里有份道路资讯表,里面含有锻炼, 我们来一起看一下。在测量组界面点击道路设计,点击锻炼,当前列表为空,我们来添加。 点击新建,输入锻炼前的里程幺六六二点八,锻炼后的里程幺五六四点五。系统显示锻炼值九十八点三零八米。长链一条道路存在多个,锻炼时可再次新建 锻炼。设置好后进入中桩放样,放样时直接输入设计桩号,选择正确的里程段,无需手动计算。测链员放样锻炼设置一次,全线受益,道路锻炼就这么简单。

囤纸了囤纸了!新疆的宝宝们,就我手上这个四斤半重的这十八个实心大卷啊,只需要十九块九九就给咱们新疆的姐妹啊,包邮到家了,你别看价格便宜啊,人家这款呀,可是竹浆纸呢,就这个价格算下来,这每一卷呀才一块多,关键是你看 还特别的磁石,而且啊,纸张也特别的细腻啊,还带这个三 d 立体印花的断点呀,也很清晰,每一张的韧性也特别棒,你听这个声音, 嘎嘎结实啊,这每一张纸啊,人家还是这种五层加厚的啊,而且啊,是可溶于水的,咱们上完卫生间呀,也不担心他堵马桶,直接马桶冲掉就可以,韧性也不错啊,你看 湿水以后呀,也不容易破,家里人口特别多,用纸特别费的,你就囤这款纸,性价比超高,趁着活动还在的时候,赶紧给家里多囤几单。 而长夜的天依旧那么蓝,风吹进了从前, 可是故事还是短暂。