使用シナリオ: 新しい Ubuntu サーバーに一部のサービスやその他の作業をデプロイする場合、メイン コンピューターから Ubuntu にテキストを頻繁にコピーする必要がありますが、WeChat や VPN がないため、文字を 1 つずつ手動で入力することしかできません。 。そこで、スキルを練習するために LAN 通信用の小さなプログラムを作成したいと思いました。後で、LAN 通信の Web バージョンを実装する方法について説明します。
1. UDP リアルカラムの作成
const udp = wx.createUDPSocket()
2. 独自のサービス ポートをバインドします (数値タイプである必要があります。各 UDP インスタンスにはポート バインドが必要です。そうでない場合は通信できません)。
udp.bind(1234)
3. パケット メッセージの監視を開始するイベントを監視します (準備ができていることを示します。これは、監視を開始することを意味しますが、メッセージの監視を意味するわけではありません。監視を開始する必要があります。そうしないと、後でメッセージを監視できなくなります)。
udp.onListening((e) => {
console.log(e);
console.log("开始监听消息");
})
4. メッセージの監視を開始します(これは監視メッセージのレポートです)。
udp.onMessage((e) => {
console.log(e);
})
5. メッセージを送信します (255.255.255.255 はブロードキャスト メッセージであり、指定した IP アドレスに変更できます。ポートには別の UDP サービスのポートが入力されます。メッセージの形式は文字列または数値タイプである必要があります。それ以外の場合は、送信されず、エラーも報告されません!)
//这就是编码了
const data = JSON.stringify({
ip: "1111",
msg: "哈哈"
})
udp.send({
address: '255.255.255.255',
message: data,
port: 4321
})
6. 報告された arrayBuffer 形式のメッセージを解析します
以下はデコードですが、デコードにはutf8ArrayToStr.jsファイルが必要なので、記事の最後に貼り付けておきます。
const Utf8ArrayToStr = require('../../utils/utf8ArrayToStr');
const msg = Utf8ArrayToStr(new Uint8Array(res.message))
console.log(msg);
// 结果:{ip: "1111",msg: "哈哈"}