第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

兩個 Go 程序之間如何通信?

兩個 Go 程序之間如何通信?

Go
胡子哥哥 2023-06-01 17:11:18
我正在嘗試制作這樣的程序一共有三個GO Porgram,分別是Go program 1, Go Program 2 , Go Program 3Go Program 1 從串口獲取數(shù)據(jù)并發(fā)送給 Go Program 2GO 計劃 2 Recv。來自 Go 程序 1 的數(shù)據(jù)并將其發(fā)送到 MQTTGO Program 3 它應(yīng)該是 web 框架,因為我需要 Web UI 來控制和管理這些 GO program 1 & Go Program 2Go Program 3 的任務(wù)是:開始停止 GO 程序 1 和 2更改或設(shè)置 Go Program 1 的 COM 端口并發(fā)布主題更改Go Program 2的經(jīng)紀人地址,用戶名和密碼如何在所有三個 GO 程序之間進行通信或管道。
查看完整描述

1 回答

?
慕妹3146593

TA貢獻1820條經(jīng)驗 獲得超9個贊

我認為您假設(shè) Go 有一些 Python 沒有的特殊 IPC 方式;這不完全正確。通道對于單個進程內(nèi)的通信很有用。如果您希望這些程序真正獨立(進程),您將需要所有常用的 IPC - 您可以使用管道、套接字、共享內(nèi)存或其他任何東西。

我個人建議使用套接字,因為 Go 非常適合網(wǎng)絡(luò)編程和編寫套接字服務(wù)器和客戶端。此外,一旦您的應(yīng)用程序使用套接字,就可以更輕松地將這些不同的進程移植到多臺機器上、跨 Internet 等運行。此外,您還可以利用更高級別的協(xié)議級別并使用諸如 RPC 之類的東西。


要創(chuàng)建套接字服務(wù)器,請使用net.Listen, 并Accept在返回的對象上循環(huán)調(diào)用。返回的每個連接Accept都是一個您可以與之通信的遠程客戶端——如果您想要多個客戶端之間的并發(fā),我建議您在這里使用 goroutine。

然而,對于像您這樣的項目的第一次削減,我會選擇net/rpc使用起來非常簡單并提供更高級別的 API 來向其他進程發(fā)送遠程命令的包。


查看完整回答
反對 回復(fù) 2023-06-01
  • 1 回答
  • 0 關(guān)注
  • 319 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號