当前位置:   article > 正文

鸿蒙原生应用开发-网络管理WebSocket连接

鸿蒙原生应用开发-网络管理WebSocket连接

一、场景介绍

使用WebSocket建立服务器与客户端的双向连接,需要先通过createWebSocket()方法创建WebSocket对象,然后通过connect()方法连接到服务器。当连接成功后,客户端会收到open事件的回调,之后客户端就可以通过send()方法与服务器进行通信。当服务器发信息给客户端时,客户端会收到message事件的回调。当客户端不要此连接时,可以通过调用close()方法主动断开连接,之后客户端会收到close事件的回调。

若在上述任一过程中发生错误,客户端会收到error事件的回调。

二、接口说明

WebSocket连接功能主要由webSocket模块提供。使用该功能需要申请ohos.permission.INTERNET权限。具体接口说明如下表。

  1. import webSocket from '@ohos.net.webSocket';
  2. var defaultIpAddress = "ws://";
  3. let ws = webSocket.createWebSocket();
  4. ws.on('open', (err, value) => {
  5. console.log("on open, status:" + JSON.stringify(value));
  6. // 当收到on('open')事件时,可以通过send()方法与服务器进行通信
  7. ws.send("Hello, server!", (err, value) => {
  8. if (!err) {
  9. console.log("Message sent successfully");
  10. } else {
  11. console.log("Failed to send the message. Err:" + JSON.stringify(err));
  12. }
  13. });
  14. });
  15. ws.on('message', (err, value) => {
  16. console.log("on message, message:" + value);
  17. // 当收到服务器的`bye`消息时(此消息字段仅为示意,具体字段需要与服务器协商),主动断开连接
  18. if (value === 'bye') {
  19. ws.close((err, value) => {
  20. if (!err) {
  21. console.log("Connection closed successfully");
  22. } else {
  23. console.log("Failed to close the connection. Err: " + JSON.stringify(err));
  24. }
  25. });
  26. }
  27. });
  28. ws.on('close', (err, value) => {
  29. console.log("on close, code is " + value.code + ", reason is " + value.reason);
  30. });
  31. ws.on('error', (err) => {
  32. console.log("on error, error:" + JSON.stringify(err));
  33. });
  34. ws.connect(defaultIpAddress, (err, value) => {
  35. if (!err) {
  36. console.log("Connected successfully");
  37. } else {
  38. console.log("Connection failed. Err:" + JSON.stringify(err));
  39. }
  40. });

本文参考引用HarmonyOS官方开发文档,基于API9。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/从前慢现在也慢/article/detail/383746
推荐阅读
相关标签
  

闽ICP备14008679号