- 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”
需要响应的消息,例如函数调用或选择语句,通常使用同步形式;而不需要返回输出的消息,例如将更新插入到表中,将是异步的。
广告