Chinaunix首页 | 论坛 | 博客
  • 博客访问: 255496
  • 博文数量: 54
  • 博客积分: 1761
  • 博客等级: 上尉
  • 技术积分: 585
  • 用 户 组: 普通用户
  • 注册时间: 2010-11-17 23:30
文章分类

全部博文(54)

文章存档

2013年(4)

2012年(7)

2011年(15)

2010年(28)

分类: 数据库开发技术

2011-01-01 19:59:13


启动q客户端,然后以服务器地址和端口作为参数,利用hopen打开链接。
root@localhost:~/q# ./v32/q
KDB+ 2.7 2010.11.30 Copyright (C) 1993-2010 Kx Systems
v32/ 1()core 2550MB root localhost 127.0.0.1 PLAY 2011.02.28

q)h:hopen `:localhost:5001
': Connection refused

连接失败
可能是由于服务器未启动。服务器启动如下
root@localhost:~/q# ./v32/q 
KDB+ 2.7 2010.11.30 Copyright (C) 1993-2010 Kx Systems
v32/ 1()core 2550MB root localhost 127.0.0.1 PLAY 2011.02.28

q)\p 5001  #注意这里是改变服务器行为,使得其能够监听5001端口。

然后我们再在客户端尝试连接,连接成功。

q)h:hopen `:localhost:5001
此时,h就是连接句柄。可正对此句柄进行一些操作,例如下面的在服务器上执行1+1
q)h "1+1"
2
q)hclose h



最基本的网络操作到此就结束了。上完初级课程后,我们再深入看看其他的地方吧。

在q中有一些系统自带的变量,通过修改这些变量能够修改我们的操作行为和结果。

.z.pc  连接关闭句柄。即处理网络远程关闭这一操作的句柄。
.z.po  连接打开句柄。即处理打开这一操作的句柄。


.z.pg  连接获取句柄get
.z.ps  连接设置句柄set

例如我们在服务器端,设置.z.po的行为,可以用来记录用户的连接行为。
q).z.po:{0N!(`portOpen;x);}

此时客户端发起连接时,
q)h:hopen `::5001
我们可以在服务器端看到
q)(`portOpen;5)


设置.z.pg的行为后,可以记录用户发过来的没一个请求。
q).z.pg:{0N!(.z.w;.z.a;.z.u;.z.p;x);value x}
客户端发出一下请求:
q)h "1+1"
服务器端返回:
q)(5;2130706433;`root;2011.01.01D12:05:24.690482000;"1+1")

阅读(1846) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~