当前位置: 首页 > news >正文

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函数。


好了,又水了一篇。

http://www.lryc.cn/news/187492.html

相关文章:

  • VMware中Ubuntu(Linux)无法连接网络解决办法记录
  • js结合map对象等处理数组
  • 网络攻防实战演练
  • 基于Keil a51汇编 —— 标准宏定义
  • 遍历List集合
  • k8s containerd查看镜像
  • acwing.893. 集合-Nim游戏(博弈论sg函数模板)
  • 数据安全防护:云访问安全代理(CASB)
  • 面试准备-操作系统
  • 深度学习基础知识 Batch Normalization的用法解析
  • Centos7安装MongoDB7.xxNoSQL数据库|设置开机启动(骨灰级+保姆级)
  • JDK、JRE、JVM三者之间的关系
  • 【ppt技巧】批量修改ppt中的字体
  • RustDay01——运行在线GitHub Rust环境
  • 上门按摩小程序|同城上门按摩软件开发|上门按摩系统;
  • rpm安装mysql8后碰到的问题
  • Linux 磁盘管理+实例
  • MongoDB——centOS7安装mongodb5.0.21版本服务端(图解版)
  • C#实现OPC DA转OPC UA服务器
  • TCP/IP网络协议通信函数接口
  • go语言判断管道是否关闭的误区
  • 如何轻松使用 ChatGPT 进行论文大纲和创作
  • 【深蓝学院】手写VIO第6章--视觉前端--笔记
  • 用例图 UML从入门到放弃系列之三
  • NLP大模型
  • Python- 将一个字符串列表连接成一个单独的字符串
  • 深眸科技自研AI视觉分拣系统,实现物流行业无序分拣场景智慧应用
  • 吴恩达《微调大型语言模型》笔记
  • Java中的Servlet
  • Flutter配置Android SDK路径