- KDB+ 教程
- KDB+ - 首頁
- Q 程式語言
- Q 程式語言
- Q 語言 - 型別轉換
- Q 語言 - 時間資料
- Q 語言 - 列表
- Q 語言 - 索引
- Q 語言 - 字典
- Q 語言 - 表格
- Q 語言 - 動詞 & 副詞
- Q 語言 - 連線
- Q 語言 - 函式
- Q 語言 - 內建函式
- Q 語言 - 查詢
- Q - 程序間通訊
- Q - 訊息處理器 (.Z 庫)
- KDB+ 有用資源
- KDB+ - 快速指南
- KDB+ - 有用資源
- KDB+ - 討論
Q語言 - 程序間通訊
KDB+允許一個程序透過程序間通訊與另一個程序通訊。Kdb+程序可以連線到同一臺計算機、同一網路甚至遠端的任何其他kdb+。我們只需要指定埠,然後客戶端就可以與該埠通訊。任何q程序都可以與任何其他q程序通訊,只要它在網路上可訪問並且正在監聽連線。
伺服器程序監聽連線並處理任何請求
客戶端程序啟動連線並將命令傳送到要執行的程序
客戶端和伺服器可以在同一臺機器上,也可以在不同的機器上。一個程序既可以是客戶端,也可以是伺服器。
通訊可以是:
同步的(等待返回結果)
非同步的(無需等待,也不返回結果)
初始化伺服器
q伺服器透過指定要監聽的埠來初始化:
q –p 5001 / command line \p 5001 / session command
通訊控制代碼
通訊控制代碼是一個以“:”開頭的符號,其格式如下:
`:[server]:port-number
示例
`::5001 / server and client on same machine `:jack:5001 / server on machine jack `:192.168.0.156 / server on specific IP address `:www.myfx.com:5001 / server at www.myfx.com
要啟動連線,我們使用返回整數連線控制代碼的函式“hopen”。此控制代碼用於所有後續的客戶端請求。例如:
q)h:hopen `::5001 q)h"til 5" 0 1 2 3 4 q)hclose h
同步和非同步訊息
一旦我們有了控制代碼,我們就可以同步或非同步地傳送訊息。
同步訊息 - 傳送訊息後,它會等待並返回結果。其格式如下:
handle “message”
非同步訊息 - 傳送訊息後,立即開始處理下一條語句,無需等待並返回結果。其格式如下:
neg[handle] “message”
需要響應的訊息,例如函式呼叫或選擇語句,通常使用同步形式;而不需要返回輸出的訊息,例如將更新插入到表中,將是非同步的。
廣告