首页 > 其他分享 >Acknowledgements of Socket.IO

Acknowledgements of Socket.IO

时间:2024-12-04 23:14:08浏览次数:6  
标签:console Socket emit timeout response IO Acknowledgements event socket

 

https://socket.io/docs/v4/emitting-events/#Acknowledgements

 

Acknowledgements

Events are great, but in some cases you may want a more classic request-response API. In Socket.IO, this feature is named acknowledgements.

You can add a callback as the last argument of the emit(), and this callback will be called once the other side acknowledges the event:

Server

io.on("connection", (socket) => {
socket.on("update item", (arg1, arg2, callback) => {
console.log(arg1); // 1
console.log(arg2); // { name: "updated" }
callback({
status: "ok"
});
});
});
 

Client

socket.emit("update item", "1", { name: "updated" }, (response) => {
console.log(response.status); // ok
});
 

With timeout

Starting with Socket.IO v4.4.0, you can now assign a timeout to each emit:

socket.timeout(5000).emit("my-event", (err) => {
if (err) {
// the other side did not acknowledge the event in the given delay
}
});
 

You can also use both a timeout and an acknowledgement:

socket.timeout(5000).emit("my-event", (err, response) => {
if (err) {
// the other side did not acknowledge the event in the given delay
} else {
console.log(response);
}
});
 

 

 

标签:console,Socket,emit,timeout,response,IO,Acknowledgements,event,socket
From: https://www.cnblogs.com/lightsong/p/18587441

相关文章

  • ai-assistant stream with websocket.
    ai-assistantstreamwithwebsocket. https://github.com/dpills/ai-assistant/blob/master/main.pyfromtypingimportAsyncGenerator,NoReturnimportuvicornfromdotenvimportload_dotenvfromfastapiimportFastAPI,WebSocketfromfastapi.responsesimp......
  • 控制反转(IoC)与依赖注入(DI)
    文章目录前言一、控制反转(IoC)1.如果没有控制反转,会怎么样?1.1紧密耦合:1.2可测试性差:1.3代码复用性受限:2.IoC的核心思想与实现机制2.1核心思想:2.2实现机制-配置驱动:2.2.1XML配置方式:2.2.2Java配置方式:2.2.3基于注解的自动扫描:3.IoC容器的职责3.1创建对象:3.2生命......
  • pset2 substitution.c
    1.extension:ToDoTasks推荐一个vscode里面一个很好用的插件!!!写出解决的步骤,不但理清楚思路。还可以提高效率!特别是针对一些文本比较长的pset,要求多且零碎,反复切换页面(浏览器到vscode)就有点太累了,而且截图固定的话,整个页面也看着不舒服,太乱了,所以这个插件可以节省时间。在写......
  • 『Linux』 第五章 基础IO
    1.理解“文件”1.1狭义理解 文件在磁盘里磁盘是永久性存储介质,因此文件在磁盘上的存储是永久性的磁盘是外设(即是输出设备也是输入设备)磁盘上的文件本质是对文件的所有操作,都是对外设的输入和输出简称IO1.2广义理解Linux下一切皆文件(键盘、显示器、网卡、磁盘……......
  • 龙芯2K1000 MIPS i2c-gpio驱动调试
    龙芯2K1000MIPSi2c-gpio驱动为什么不建议使用i2c控制器驱动i2c还是项目中最常用的接口,不论是内核驱动还是用户态接口。例如rtc,温度传感器,光模块、eeprom等都是大量使用i2c接口。以上器件读写的数据量都不大,2k1000提供的i2c控制器驱动也没暴露出什么大问题。后来有两个项......
  • 【C++】关于 Visual Studio 的使用技巧(保姆级教程)
    目录fliter视图输出文件位置设置查看预处理结果将目标文件转换为可读的汇编自定义程序入口调试时查看变量在内存中的具体值查看代码的反汇编fliter视图visualstudio默认是filter视图(中文为筛选器)项目下的是filter而非硬盘目录里实际的文件夹,这时新建的也是filter想要查看......
  • python学习-condition
    条件判断1.三个关键词:ifelseelif(即为elseif)(1)if语句执行有个特点,它是从上往下判断,如果在某个判断上是True,把该判断对应的语句执行后,就忽略掉剩下的elif和else(2)当if后面的条件语句不满足时,与之相对应的else中的代码块将被执行。ifa==1:print('right')else:print('wro......
  • Advent Of Code 2023 Day 24 Solution
    \[\texttt{Description}\]有\(n\)个雪球,每个雪球用\(6\)个整数\(x_i,y_i,z_i,u_i,v_i,w_i\)表述,代表雪球\(i\)在\(t\)时刻的位置是\((x_i+u_it,y_i+v_it,z_i+w_it)\)。\(\texttt{Part1:}\)在只考虑\(xy\)平面的情况下,有多少对雪球的轨迹会在某一个特定的方形区......
  • Quantization
    目录引线性量化(LinearQuantization)对称量化非对称量化非线性量化Power-of-XRoundingDeterministicroundingStochasticrounding[1]进击的程序猿-模型压缩-神经网络量化基础.[2]Przewlocka-RusD.,SarwarS.S.,SumbulH.E.,LiY.andDeSalvoB.Power-of-twoqu......
  • Task05 :conditionals
    条件在Python中,条件语句用于根据不同的条件执行不同的代码块。常见的条件语句有if语句、if-else语句和if-elif-else语句。例如:a=int(input('请输入一个数字:'))#由于input()函数输入的数据默认为字符串,所以使用int()转换为整数ifa>=10:print(a)#如果a>=10......