不同語言程式 zmq 通訊遇到的問題

2021-09-26 02:55:03 字數 640 閱讀 8195

工作中用到了golang寫乙個opc 客戶端,從opc server獲取資料,並格式化成內部通用格式,遮蔽外差異。

用到了golang的zmq ,作為 publish server。

以前客戶端是用python寫的,用的是subscribe模式。

但是有乙個問題,python 的zmq 的傳送接收有很多方法,send(), send_json(), send_multipart(),而golang 的zmq只有乙個send()。

python subscribe 用的是recv_multipart(),收到的是乙個列表,第乙個值是訂閱的topic,第二個是資料。

那麼golang用zmq應該怎麼發呢? 通過檢視python 版 zmq的 send_multipart() 函式原始碼發現,python 其實也只有乙個send(),其它方式是自己加的,用了flag sndmore。

// golang code

_, err = socket.

send

(topic, zmq.sndmore)

_, err = socket.

send

(data,

0)

這樣python的 recv.multipart() 就能正確的收到了

我在寫串列埠通訊程式遇到的坑

我在做基於hc6800的51微控制器上,寫串列埠通訊程式遇到了許多坑。乙個大坑 為什麼hc6800上u轉串列埠不能傳送資料。圖1 燒錄軟體 圖2 軟體的暗示 圖3 開啟串列埠除錯助手 圖4 微控制器掉電 圖5 黃框是另乙個串列埠 圖6 串列埠短路帽正確的接法 在完成了以上步驟之後,基本上我們就完成了...

通訊錄的c語言程式編輯

首先說下他的功能 1.這個通訊錄可以儲存1000個人的資訊。2.這個通訊錄主要包含的內容為比較常見的個人資訊,包括姓名,年齡,性別,qq等。3.然後包含的功能為新增,刪除,查詢,修改,排序當然還有展示。4.下面是一些缺點,通訊錄無法儲存,必須手動錄入。5.然後,為了方便管理這個 分為三個版塊組成,需...

開發不同語言版本的C 程式

在c 中有多種使用資源檔案的方法,能夠很方便地開發全球通用的應用程式。本文通過乙個簡單的小例子,來講解在c 中如何利用資源檔案,快速開發乙個多種語言版本的程式。本例中只有乙個窗體,三個控制項,能夠根據使用者的設定以中文或英文介面執行。開發環境是windows 2000 professional mi...