dart的Websocket为什么找不到onOpen方法?
我主要使用的是JAVA,而JAVA使用Websocket时,Websocket一定会有个onOpen方法。
@ClientEndpoint
public class WebsocketListener {@OnOpenpublic void onOpen(Session session) throws IOException {}@OnMessagepublic void onMessage(ByteBuffer byteBuffer) {}@OnClosepublic void onClose(Session session, CloseReason closeReason) {}@OnErrorpublic void onError(Session session, Throwable t) {}
}
我用的第三方Websocket框架也一定会有onOpen方法。
我就下意识的认为Websocket一定会有onOpen方法。
直到我遇到了dart。
我对dart不是很了解,函数的使用方法都是在网上搜的,所以很容易遇到一些简单的问题。
var socket = await WebSocket.connect(url);
//监听
socket.listen((data) {}, onDone: () {print('WebSocket断开');
},onError: (e){print("服务异常:$e");
});
可以看到socket.listen函数并没有提供onOpen方法,我点进socket查看函数,确实没有onOpen的处理方法。
然后找了一个第三方框架,也是一样完全找不到…
后来我反应过来了…
我突然觉得我真的是个小丑…
dart的WebSocket.connect(url)函数本身就是异步的。
await 等待返回结果,就表示已经得到服务器响应了,后面只需要判断socket状态是不是open就可以了。
var socket = await WebSocket.connect(url);
if(socket.readyState == WebSocket.open){//监听socket.listen((data) {}, onDone: () {print('WebSocket断开');},onError: (e){print("服务异常:$e");});
}
如此简单的问题,我居然找了半天的open函数。
好了,又水了一篇。
相关文章:
dart的Websocket为什么找不到onOpen方法?
我主要使用的是JAVA,而JAVA使用Websocket时,Websocket一定会有个onOpen方法。 ClientEndpoint public class WebsocketListener {OnOpenpublic void onOpen(Session session) throws IOException {}OnMessagepublic void onMessage(ByteBuffer byteBuff…...
VMware中Ubuntu(Linux)无法连接网络解决办法记录
问题: 操作系统:Ubuntu 22.04.3 LTS VMware 版本:VMware Workstation 17 Pro, 17.0.0 build-20800274今天在虚拟机用Ubuntu的时候,发现无法连接网络,如下: wdwd-virtual-machine:~$ ifconfig lo: flags73…...
js结合map对象等处理数组
cpp const INVENTORY_STATUS_MAP {7: { text: 全部 },0: { text: 出租, color: mary-green },1: { text: 已售, color: mary-green },2: { text: 丢失, color: mary-orange },3: { text: 闲置, color: mary-green },4: { text: 退役, color: mary-orange },5: { text: 售后, c…...
网络攻防实战演练
在经历了多年的攻防对抗之后,大量目标单位逐渐认识到安全防护的重要性。因此,他们已采取措施尽可能收敛资产暴露面,并加倍部署各种安全设备。但安全防护注重全面性,具有明显的短板... 1、供应链 在经历了多年的攻防对抗之后&…...
基于Keil a51汇编 —— 标准宏定义
定义标准宏 标准宏定义如下: macro-name MACRO <[>parameter-list<]> <[>LOCAL local-labels<]> . . . macro-body . . .ENDMmacro-name 宏的名称 parameter-list 可以传递给宏的形式参数的可选列表 LOAD_R0 MACRO R0_ValMOV R0, #R0_…...
遍历List集合
1.初始化 // 写法一 List<String> list new ArrayList<>(); list.add("a"); list.add("b"); list.add("c");// 写法二 List<String> list new ArrayList(){{add("a");add(&quo…...
k8s containerd查看镜像
直接查看crictl image会报错: 1) crictl config runtime-endpoint unix:///run/containerd/containerd.sock 2) vi /etc/crictl.yaml 3) systemctl daemon-reload 此时,再查看image:...
acwing.893. 集合-Nim游戏(博弈论sg函数模板)
给定 n� 堆石子以及一个由 k� 个不同正整数构成的数字集合 S�。 现在有两位玩家轮流操作,每次操作可以从任意一堆石子中拿取石子,每次拿取的石子数量必须包含于集合 S�,最后无法进行操作的人视…...
数据安全防护:云访问安全代理(CASB)
云访问安全代理(Cloud Access Security Broker,CASB),是一款面向应用的数据防护服务,基于免应用开发改造的配置方式,提供数据加密、数据脱敏功能。数据加密支持国密算法,提供面向服务侧的字段级…...
面试准备-操作系统
参考: 《程序员面试笔试宝典》(何昊、叶向阳) 进程是系统进行资源分配和调度的一个独立单位。线程是进程的一个实体,是cpu调度和分配的基本单位。线程基本不拥有系统资源,只拥有必须的,但是同属于一个进程…...
深度学习基础知识 Batch Normalization的用法解析
深度学习基础知识 Batch Normalization的用法解析 import numpy as np import torch.nn as nn import torchdef bn_process(feature, mean, var):feature_shape feature.shapefor i in range(feature_shape[1]):# [batch, channel, height, width]feature_t feature[:, i, :,…...
Centos7安装MongoDB7.xxNoSQL数据库|设置开机启动(骨灰级+保姆级)
一: mongodb下载 MongoDB 社区免费下载版 MongoDB社区下载版 [rootwww tools]# wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-7.1.0-rc4.tgz 二: 解压到指定目录 [rootwww tools]# mkdir -p /usr/local/mongodb [rootwww tools]# tar -zxvf mongodb-…...
JDK、JRE、JVM三者之间的关系
1.JDK 基本介绍 1) JDK 的全称 (Java Development Kit Java 开发工具包 ) JDK JRE java 的开发工具 [java, javac,javadoc,javap 等 ] 2) JDK 是提供给 Java 开发人员使用的,其中包含了 java 的开发工具,也包括了 JRE 。所以安装了 JDK ,就…...
【ppt技巧】批量修改ppt中的字体
PPT文件中的字体想要全部更换,有什么方便的方法吗?今天分享两个方法,一键修改ppt文件字体。 方法一: 找到功能栏中的编辑选项卡,点击替换 – 替换字体,在里面选择我们想要替换的字体就可以了。 方法二&am…...
RustDay01——运行在线GitHub Rust环境
1.跟着教程进入GitHub教室 2. 授权确认后进入学习空间 3.点击链接进入在线平台 4.添加本机密钥对到GitHub 5. 安装依赖 我们使用在线的Linux试验平台,就自动帮我们clone好了仓库 我们直接在仓库目录执行 cargo install --force --path . 安装依赖 PS:其实刚开始…...
上门按摩小程序|同城上门按摩软件开发|上门按摩系统;
上门按摩小程序的开发具有许多优势,下面就给大家介绍下按摩小程序功能: 上门按摩小程序的优势 方便快捷:上门按摩小程序提供在线预约服务,用户可以通过手机随时随地预约按摩师上门服务,避免了传统预约方式的繁琐和不确定性。 个性…...
rpm安装mysql8后碰到的问题
1 mysqld 无法启动 原因 已经使用了3306端口,修改my.cnf中端口为3308 2 修改为3308端口后,还是无法启动, 2023-10-07T02:20:10.096689Z 0 [ERROR] [MY-010262] [Server] Cant start server: Bind on TCP/IP port: Permission denied 2023…...
Linux 磁盘管理+实例
目录 一、文件系统 二、添加磁盘 三、查看磁盘信息(块设备) 四、分区 1、格式 1)MBR分区 2)GPT分区 2、管理分区 1)使用fdisk 2)使用gdisk 3)使用parted a.交互式 b.非交互式 3、…...
MongoDB——centOS7安装mongodb5.0.21版本服务端(图解版)
目录 一、mongodb官网下载地址二、安装步骤2.1、上传安装包并解压2.2、配置环境变量2.3、创建目录并授权2.4、创建配置文件2.5、启动MongoDB 三、开放端口四、客户端连接 一、mongodb官网下载地址 mongodb官网下载地址:https://www.mongodb.com/try/download/commu…...
C#实现OPC DA转OPC UA服务器
运行软件前提前安装好OPC运行组件: 为方便演示,提前准备好了一个DAServer服务器: 接下来开始配置: 该软件主要实现的功能如下: 配置过程也相对简单: 第一步: 编辑如下文件: 第二步…...
【Midjourney Ash印相终极指南】:20年影像算法专家首度公开胶片质感生成的7大隐性参数配置
更多请点击: https://intelliparadigm.com 第一章:Midjourney Ash印相的技术起源与影像哲学本质 Ash印相的算法基因溯源 Ash印相并非凭空诞生的视觉滤镜,而是Midjourney v6模型在latent空间中对“胶片衰变—银盐氧化—时间蚀刻”三重物理过…...
别再手动拼接URL了!若依集成JimuReport报表,一个优雅的Token传递方案
若依系统与JimuReport深度集成:Token安全传递的架构实践 在当今企业级应用开发中,报表功能是不可或缺的核心模块,而如何将第三方报表系统无缝集成到现有框架中,同时确保认证体系的安全性与一致性,一直是开发者面临的挑…...
大模型涌现能力:从原理到工程实践的探索与分类
1. 项目概述:从“玄学”到“科学”的涌现能力探索最近和几个做模型研发的朋友聊天,大家不约而同地提到了一个词:“涌现能力”。这个词听起来有点玄乎,像是某种不可预测的“魔法”,但当我们深入讨论时,发现它…...
3个技巧让你的技术文档阅读体验提升300%:Markdown Viewer深度指南
3个技巧让你的技术文档阅读体验提升300%:Markdown Viewer深度指南 【免费下载链接】markdown-viewer Markdown Viewer / Browser Extension 项目地址: https://gitcode.com/gh_mirrors/ma/markdown-viewer 还在为浏览器中那些丑陋的Markdown文件预览而烦恼吗…...
基于ARM核心板的工业无线示教器开发全流程解析
1. 项目概述:当工业机器人遇上“掌上大脑”在工业自动化领域,示教器是人与机器人交互的核心枢纽。传统的示教器,往往体积庞大、线缆缠绕、成本高昂,并且高度依赖特定的控制器硬件。作为一名长期混迹于工控和嵌入式开发一线的工程师…...
5分钟快速搭建零配置静态服务器:http-server终极完整指南
5分钟快速搭建零配置静态服务器:http-server终极完整指南 【免费下载链接】http-server A simple, zero-configuration, command-line http server 项目地址: https://gitcode.com/gh_mirrors/ht/http-server 你是否曾在本地开发时,为了预览一个简…...
基于MCP协议构建Jira连接器:打通AI助手与项目管理的技术实践
1. 项目概述:当Jira遇上MCP,一个连接器如何重塑项目管理工具链如果你和我一样,长期在软件研发一线摸爬滚打,那么对Jira这个名字一定不会陌生。它几乎是敏捷开发、缺陷跟踪和项目管理的代名词,无数团队用它来规划冲刺、…...
Zotero Duplicates Merger终极教程:3步自动化清理文献重复项
Zotero Duplicates Merger终极教程:3步自动化清理文献重复项 【免费下载链接】ZoteroDuplicatesMerger A zotero plugin to automatically merge duplicate items 项目地址: https://gitcode.com/gh_mirrors/zo/ZoteroDuplicatesMerger 还在为Zotero文献库中…...
Harness Open Source 与 GitLab 的区别:一个轻量一体化 DevOps 平台,一个完整 DevSecOps 平台
Harness:https://github.com/harness/harness 一、先给结论 Harness Open Source 和 GitLab 都可以做代码托管、代码协作、CI/CD 和制品管理,但二者的产品边界不同。 Harness Open Source 官方定位是一个开源的一体化开发平台,集成源码管理、CI/CD pipelines、托管开发环…...
ARM Cortex-A72 GICv3中断处理机制与优化实践
1. ARM Cortex-A72 GIC CPU接口架构概述在ARMv8-A架构中,通用中断控制器(GIC)作为中断管理的核心组件,其CPU接口承担着处理器核心与中断源之间的桥梁作用。Cortex-A72处理器实现了GICv3架构规范,相较于前代GICv2,主要引入了以下关…...
