workerman error 2 send buffer full and drop package

来源

报错信息:workerman error 2 send buffer full and drop package

定时发送数据的时候,本地偶尔出现这种情况
线上第一条数据发出去就报错了,数据改小一点可以发,不过一会还是会出现这种情况。

解决

根据我的经验,这明显就是缓冲区大小超限了,俗称内存溢出,但是被检测到了。

要想根本上解决这个问题,就要知道workerman的缓冲区的使用规则。

官网上是这样说的,如下图:
在这里插入图片描述

听起来是个网络问题,大致意思就是你发的太快或者包太大了,用户还没接收完呢,导致数据还暂时停留在服务器的缓冲区内,并且缓冲区堆积的太多了导致即将要溢出报错了。

那就使用onBufferFull回调来暂时停止发送数据,等用户接收完再发,但这并不是最优解,因为这种解决方法会导致ping很高,用户与服务器状态的延迟会很高,甚至越来越高,但是不会产生丢包的问题。

所以onBufferFull应该作为一个解决用户网络不好的情况下使用,最好不要让这个回调触发。

最优解应该是提高服务器网络速度,以及降低发送包的大小,提高频率。

如果对实时有要求,那就适当丢包以保证实时性,如果对内容完整性有要求,那就onBufferFull回调写好一点,保证每条数据都能接收到。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/849932.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

SAP HCM OPT函数作用

导读 INTRODUCTION OPT函数:SAP HCM工资核算是很多函数的汇总集,原有有兴趣问过SAP的人为什么SCHEMA需要这样设计,SAP的人说是用汇编的逻辑设计的,当时是尽可能用机器语言加速速度读取,每个函数都有对应的业务逻辑代码…

React实战(一)初始化项目、配置router、redux、axios

(一)初始化项目 1.安装项目 npx create-react-app 项目名 编译报错: 解决办法:安装最新的babel-preset-react-app npm install babel-preset-react-applatest 2.配置项目 (1)配置文件目录 (2)使用craco配置webpack.config npm install craco/crac…

Coze入门指南:创建Bot时,如何写好人设与回复逻辑(Persona Prompt)

文章目录 📖 介绍 📖🏡 演示环境 🏡📒 Coze Bot 📒📝 Persona & Prompt🌟 # Character🌟 ## Skills🌟 # Overall Rules to follow🌟 ## Workflow🌟 ## Constraints📝 通用写法与模板📝 示例🌟技巧和注意事项⚓️ 相关链接 ⚓️📖 介绍 📖…

免费使用GPT-4生成图片的方法

写在前言 hello,大家好,我是一点,喜欢编程,目前持续在关注AI领域的发展,希望可以结交一些有意思的朋友。 大家可以关注我的公号:【一点sir】,了解更多文章,希望可以和你们成为朋友…

VSCode前端环境配置:从入门到精通的全方位指南

VSCode前端环境配置:从入门到精通的全方位指南 在前端开发的世界里,一款强大的代码编辑器是不可或缺的工具。Visual Studio Code(简称VSCode)以其丰富的功能、强大的扩展性和简洁的界面设计,赢得了广大前端开发者的青…

OpenCompass 大模型评测平台C-Eval 基准任务评估实战

1. 引言 在人工智能迅速发展的今天,大型语言模型(LLMs)在多个领域展现出了巨大的潜力和应用价值。然而,如何评价这些模型的性能,了解它们的优缺点,成为了一个重要课题。OpenCompass,一个由上海…

鸿蒙emitter 订阅事件封装 EmitterUtils

适用于api11 和api12 废话不多说,直接上代码 import emitter from ohos.events.emitter; import { StringUtils } from ohos/flutter_ohos;export class EmitterUtils{/*** 发射字符串类型的* param eventId* param data*/public static sendEvent(eventId:stri…

使用Cython编译Python源码加密加速,有这一篇就够了!

0 前言 python是一门脚本语言,运行时由python虚拟机解释执行。当我们使用python设计好算法给第三方使用时只能提供源码,任何运行我们算法的人都可以看到源码以及对应的算法思路。因此,需要一定手动保护源码。 最简单的保护方式是使用代码混…

高光谱图像聚类的像素-超像素对比学习与伪标签校正

Pixel-Superpixel Contrastive Learning and Pseudo-Label Correction for Hyperspectral Image Clustering 文章目录 Pixel-Superpixel Contrastive Learning and Pseudo-Label Correction for Hyperspectral Image Clustering摘要引言相关方法对比学习 方法超像素对比学习像素…

深入Vue.js:从基础到进阶的全面学习指南

简介 Vue.js是什么Vue.js的历史和版本演进Vue.js的优势和适用场景 基本概念 MVVM模式Vue实例模板语法数据绑定计算属性和侦听器 核心功能 指令事件处理表单处理组件系统插槽 进阶功能 动态组件异步组件自定义指令混入插件 状态管理 Vuex介绍核心概念:State、Get…

【嵌入式】智能系统优化:【C++】驱动的【机器学习】与【数据挖掘】技术

目录 一、嵌入式系统简介 二、C在嵌入式系统中的优势 三、机器学习在嵌入式系统中的挑战 四、C实现机器学习模型的基本步骤 五、实例分析:使用C在嵌入式系统中实现手写数字识别 1. 数据准备 2. 模型训练与压缩 3. 模型部署 六、优化与分析 1. 模型优化 模…

什么时候用C而不用C++?

做接口只用C,千万别要C。C是编译器敏感的,一旦导出的接口里有 std::string这些东西,以及类,注定了要为各个编译器的各个版本准备独立的库。 刚好我有一些资料,是我根据网友给的问题精心整理了一份「C的资料从专业入门…

Gitlab---添加描述模版

0 Preface/Foreword Gitlab是代码托管平台,DevOps。因其免费,被广泛使用。GitLab不但可以管理代码,也可以管理issue,创建milestone等等。针对issue管理,支持描述模版功能,即对于新建的issue,可…

深度网络学习笔记(二)——Transformer架构详解(包括多头自注意力机制)

Transformer架构详解 前言Transformer的整体架构多头注意力机制(Multi-Head Attention)具体步骤1. 步骤12. 步骤23. 步骤34. 步骤4 Self-Attention应用与比较Self-Attention用于图像处理Self-Attention vs. CNNSelf-Attention vs. RNN Transformer架构详…

【第11章】SpringBoot实战篇之文章(下)含条件分页

文章目录 前言一、文章列表查询1. ArticleController2. ArticleService 二 、文章查询1. ArticleController2. ArticleService 三、文章更新1. ArticleController2. ArticleService 四、文章删除1. ArticleController2. ArticleService 五、文章列表查询(条件分页)1.ArticleCon…

速盾:cdn加速 app

CDN(Content Delivery Network)加速是通过将网站的静态资源(如图片、脚本、样式表等)分发到全球多个服务器节点上,使用户能够快速访问这些资源。在移动应用开发中,CDN加速也能够为app提供更快的用户体验和更…

医疗器械网络安全风险管理的基本步骤

医疗器械网络安全风险管理是一个复杂的过程,涉及到多个环节和步骤。以下是一些基本的步骤和关键点: 风险识别:首先需要对医疗器械的软件、网络连接和通信协议等进行漏洞分析,识别潜在的安全漏洞和弱点。这可能涉及对设备的渗透测…

[大师C语言(第二十三篇)]C语言常用第三方库总结

C语言因其高效、灵活和可移植的特性,在系统编程、嵌入式开发、操作系统、网络编程等领域被广泛使用。C语言的标准库提供了一些基础功能,但在实际开发中,开发者通常需要借助第三方库来完成更加复杂的任务。本文将总结一些常用的C语言第三方库&…

MbedTLS源码跨平台编译(window/macos/linux)

1.window平台编译: 克隆: git clone --recursive https://github.com/Mbed-TLS/mbedtls.git 克隆成功 添加OpenSSL环境变量 验证环境 使用cmake编译 cmake ../生成配置时出错 出现上面原因是克隆下来的library与programs及tests目录少文件了,直接下载zip包替换library目录

docker pull image 报错 dial tcp 31.13.88.169:443: i/o timeout

一、错误重现 error pulling image configuration: download failed after attempts6: dial tcp 31.13.88.169:443: i/o timeout 在执行docker build构建镜像,拉取镜像时报错 或者直接docker pull镜像时报错 实质都是拉取镜像源超时报错,那么就是镜像源…