uniapp原生插件 TCP Socket 使用文檔

uniapp原生插件 TCP Socket 使用文檔

試了插件市場幾個TCP Socket插件都不能實現監聽服務器主動斷開,于是閑來無事就開發了一款,本插件是一個基于 Netty 實現的 TCP 通信模塊,用于在 UniApp 插件中提供 TCP 連接、數據發送和連接管理功能。以下是模塊的詳細使用說明。


在這里插入圖片描述
在這里插入圖片描述


功能概述

  1. 打開 TCP 連接:通過指定的主機地址和端口號建立 TCP 連接。
  2. 發送數據:向已建立的 TCP 連接發送數據。
  3. 關閉 TCP 連接:斷開當前的 TCP 連接并釋放資源。
  4. 檢查連接狀態:查詢當前 TCP 連接的狀態。
  5. 設置連接狀態:手動設置連接狀態(內部使用)。

方法說明

1. 打開 TCP 連接

openTcp(params, callback)
  • 參數

    • params (Object): 包含以下鍵值對:
    • host (String): 目標主機地址,例如 "127.0.0.1"
    • port (Integer/Double): 目標端口號,例如 8080
    • callback (Function): 回調函數,返回操作結果。
  • 回調返回值

    • code (Number): 狀態碼,1 表示成功,0 表示失敗。
    • msg (String): 操作結果描述信息。
    • type (String): 操作類型,固定為 "CONNECTION_OPENED"
  • 示例

    tcpSocket.openTcp({host: "127.0.0.1",port: 8080
    }, (res) => {console.log(res);
    });
    

2. 發送數據

sendData(params, callback)
  • 參數

    • params (Object): 包含以下鍵值對:
      • data (String): 要發送的數據內容。
      • callback (Function): 回調函數,返回操作結果。
  • 回調返回值

    • code (Number): 狀態碼,1 表示成功,0 表示失敗。
    • msg (String): 操作結果描述信息。
    • data (String): 發送的數據內容(僅在成功時返回)。
    • type (String): 操作類型,固定為 "DATA_SENT"
  • 示例

    tcpSocket.sendData({data: "Hello, TCP!"
    }, (res) => {console.log(res);
    });
    

3. 關閉 TCP 連接

closeTcp(callback)
  • 參數

    • callback (Function): 回調函數,返回操作結果。
  • 回調返回值

    • code (Number): 狀態碼,1 表示成功,0 表示失敗。
    • msg (String): 操作結果描述信息。
    • type (String): 操作類型,固定為 "CONNECTION_CLOSED"
  • 示例

    tcpSocket.closeTcp((res) => {console.log(res);
    });
    

4. 檢查 TCP 連接狀態

isTcpConnected(callback)
  • 參數

    • callback (Function): 回調函數,返回操作結果。
  • 回調返回值

    • code (Number): 狀態碼,1 表示成功,0 表示失敗。
    • msg (String): 操作結果描述信息。
    • connected (Boolean): 當前連接狀態,true 表示已連接,false 表示未連接。
    • type (String): 操作類型,固定為 "STATUS_CHECKED"
  • 示例

    tcpSocket.isTcpConnected((res) => {console.log(res.connected); // true 或 false
    });
    

注意事項

  1. 異常處理

    • 如果發生異常,所有方法都會通過回調返回錯誤信息,請確保正確處理異常情況。
  2. 字符編碼

    • 數據傳輸默認使用 GBK 編碼,確保發送和接收方的編碼一致。
  3. 資源釋放

    • 在不再需要 TCP 連接時,務必調用closeTcp方法以釋放資源。

示例代碼

以下是一個完整的使用示例:

// 打開 TCP 連接
tcpSocket.openTcp({host: "127.0.0.1",port: 8080
}, (res) => {if (res.code === 1) {console.log("TCP 連接已建立");// 發送數據tcpSocket.sendData({data: "Hello, TCP!"}, (sendRes) => {if (sendRes.code === 1) {console.log("數據發送成功");} else {console.error("數據發送失敗:", sendRes.msg);}// 關閉 TCP 連接tcpSocket.closeTcp((closeRes) => {console.log(closeRes.msg);});});} else {console.error("無法建立 TCP 連接:", res.msg);}
});

以上是 tcpSocket 模塊的完整使用文檔。如有其他問題,請參考源碼或聯系開發者。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/921778.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/921778.shtml
英文地址,請注明出處:http://en.pswp.cn/news/921778.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

VM中CentOS 7密碼重置

重啟虛擬機點擊e進入內核處理向下劃找到UTF-8在后面輸入rd.breakctrl X進入單用戶模式mount -o remount,rw/sysroot進行掛盤 chroot /sysroot訪問系統,并使用passwd修改root密碼 出現亂碼 輸入LANGen touch /.autorelabel 保存配置 exit exit退出等待系統重新打開&…

車規級MOS管AEC-Q101認證的關鍵參數解讀與失效模式-深圳阿賽姆

摘要本文拆解AEC-Q101認證的7大關鍵測試項(UIS/溫度循環/THB等),結合M120N06JC等型號實測數據,解析雪崩失效/柵氧擊穿/綁定線脫落等故障機理,附選型核查表一、AEC-Q101認證核心測試項與參數解讀1.1 非鉗位電感開關測試…

嵌入式鐵頭山羊stm32-ADC實現軟件觸發的常規序列的單通道轉換-Day25

目錄 一、實驗目的 二、電路連接 三、實驗執行(五步) 1.初始化ADC的IO引腳 2.配置ADC的時鐘,注意要小于14MHz 3.根據ADC的編程接口 實現初始化ADC的基本參數 4.配置常規序列并閉合觸發輸入開關 5.閉合總開關、啟動并讀取轉換結果 四…

多模態模型出現“幻覺”,描述了表格中不存在的內容,如何修正?

在日常工作中,多模態模型的 “幻覺” 問題已成為影響效率的關鍵痛點 —— 當我們需要模型基于文檔生成建議性內容(如行業報告分析、論文數據解讀等)時,模型常因無法準確理解文檔信息,輸出包含 “虛構內容” 的結果&…

Java AI 智能問數:Function調用版如何重塑企業數據決策

Java AI 智能問數:Function調用版如何重塑企業數據決策 在數字化轉型浪潮中,企業一把手常面臨數據查詢的痛點:分析師需編寫復雜SQL,業務人員依賴IT支持,決策鏈條冗長。傳統方法效率低下,而自然語言處理&…

AI-調查研究-74-具身智能 機器人學習新突破:元學習與仿真到現實遷移的挑戰與機遇

點一下關注吧!!!非常感謝!!持續更新!!! 🚀 AI篇持續更新中!(長期更新) AI煉丹日志-31- 千呼萬喚始出來 GPT-5 發布!“快的…

勞務員的就業前景如何?

勞務員的就業前景整體較為樂觀,受到行業需求、政策支持等因素的積極影響,同時也面臨著一些挑戰。以下是具體分析:1.就業優勢行業需求穩定:建筑行業作為國民經濟的支柱產業,持續發展使得對勞務員的需求較為穩定。無論是…

libvirt 新手指南:從零開始掌握虛擬化管理

引言 在云計算、大數據和邊緣計算的時代,虛擬化技術已成為 IT 基礎設施的核心支柱。它允許我們在單一物理服務器上運行多個虛擬機(Virtual Machine,簡稱 VM),從而實現資源的高效利用、快速部署和靈活擴展。對于新手來說…

OpenLayers數據源集成 -- 章節三:矢量要素圖層詳解

前言在前面的文章中,我們學習了OpenLayers的瓦片圖層(TileLayer)技術。本文將深入探討OpenLayers中的矢量要素圖層(VectorFeatureLayer)功能,這是WebGIS開發中處理矢量數據、實現交互式地圖的核心技術。矢量…

從“能說話”到“會做事”:AI Agent如何重構日常工作流?

從“能說話”到“會做事”:AI Agent如何重構日常工作流?在人工智能飛速發展的當下,AI已從最初簡單的語音交互、信息檢索進化到了具備自主決策與行動能力的新階段,其中AI Agent的出現堪稱關鍵轉折點。從只能機械“說話”回答問題&a…

隨身wifi到底有沒有用?

不用繞彎子,直接說清隨身WiFi怎么回事,對比完家用WiFi和手機熱點,再避坑~一、先明白:隨身WiFi到底是啥? 1、簡單講就是「能揣兜里的WiFi發射器」——要么插張物聯卡,要么內置流量,能…

MySQL問題8

MySQL深度分頁優化思路 常見的3種優化思路如下: 1. 子查詢優化方式 示例改寫前: SELECT * FROM words WHERE name oee ORDER BY id LIMIT 99999990, 10;這個寫法會導致 MySQL 掃描并丟棄前面 99999990 行,效率極低。 示例改寫后&#xff…

洛谷 P1249 最大乘積-普及/提高-

P1249 最大乘積 題目描述 一個正整數一般可以分為幾個互不相同的自然數的和,如 312312312,413413413,514235142351423,615246152461524。 現在你的任務是將指定的正整數 nnn 分解成若干個互不相同的自然數(也可以不分解…

大學地理信息科學該如何學習才能好就業

一、明確專業特點與就業方向地理信息科學是一門交叉性強、實踐性強的學科,融合了地理學、計算機科學、測繪、遙感等多個領域,廣泛應用于自然資源管理、城市規劃、交通、環境、農業、水利、智慧城市等行業。主要就業方向包括:政府部門/事業單位…

【git】Git 大文件推送失敗問題及解決方案

Git 大文件推送失敗問題及解決方案 在日常開發中,我們經常會遇到這樣的問題: Remote: File [xxx.exe] size 188.156MB, exceeds quota 100MB Remote: Please remove the file[s] from history and try again這是因為 Gitee/GitHub 等平臺對單個文件大小有…

國產銀河麒麟三維數字沙盤大數據可視化研訓推演模擬仿真地理信息系統

國產銀河麒麟三維數字沙盤大數據可視化研訓推演模擬仿真地理信息系統獨立自主知識產權和原創源代碼級地理信息系統平臺,核心引擎與算法實現全棧國產化,提供從數據采集、處理到可視化分析的全鏈條自主可控解決方案, 1.2支持國產操作系統&…

GPT Server 文檔

目錄配置文件的詳細說明(后續持續完善)openai_api_server配置控制器(controller)配置模型(worker)配置模型配置大語言模型 示例:QwenEmbedding模型 示例:Conan-embedding-v1TTS文本轉語音模型 示例: Spark-TTST2I 文生圖模型示例:…

中國移動云電腦一體機-創維LB2004_瑞芯微RK3566_2G+32G_開啟ADB ROOT安卓固件-方法3

中國移動云電腦一體機-創維LB2004_瑞芯微RK3566_2G32G_開啟ADB ROOT安卓固件-方法3 聲明,這個安卓固件root一旦恢復出廠設置,會變回原樣,雖然root,但也無法自行操作。 建議按照:中國移動云電腦一體機-創維LB2004_瑞芯微…

設計模式(策略,觀察者,單例,工廠方法)

文章目錄1. 設計模式核心概念與C語言實現基礎2. 常用設計模式詳解模式一:策略模式(Strategy Pattern)模式二:觀察者模式(Observer Pattern)模式三:單例模式(Singleton Pattern&#…

terraform入門

一、概念 1、Terraform 的“基礎設施即代碼”是什么 基礎設施即代碼 (IaC) 工具允許您使用配置文件而非圖形用戶界面來管理基礎設施。通過定義可版本控制、可重用和可共享的資源配置,IaC 允許您以安全、一致且可重復的方式構建、更改和管理您的基礎設施。 Terraform…