VRPN学习笔记(二) 配置server和编写client

关于配置VRPN server的步骤,可以参考这个网站 http://www.vrgeeks.org/vrpn/tutorial---use-vrpn

为了检测是否配置成功,在DOS下运行vrpn_print_devices.exe


配置完了server,我们尝试一个简单的client代码

#include "vrpn_Analog.h"

#include <iostream>
using namespace std;


void VRPN_CALLBACK handle_analog( void* userData, const vrpn_ANALOGCB a )
{
int nbChannels = a.num_channel;

cout << "Analog : ";

for( int i=0; i < a.num_channel; i++ )
{
cout << a.channel[i] << " ";
}

cout << endl;
}

int main(int argc, char* argv[])
{
vrpn_Analog_Remote* vrpnAnalog = new vrpn_Analog_Remote("Mouse0@localhost");

vrpnAnalog->register_change_handler( 0, handle_analog );

while(1)
{
vrpnAnalog->mainloop();
}

return 0;
}

不要忘了在project properties中添加includelib,并且link vrpn.lib,这些文件夹可以在C:/usr/local中找到。

然后就可以Build了,可能会出现错误 error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '0' doesn't match value '2' in ....obj 。原因是可能用Release模式链接了一个Debug编译出的lib,或者用Debug模式链接了Release编译的lib。这个时候换一下模式再编译就可以了。

运行你的这个小程序,该client会打印server提供的analog值,因为我在配置server时用鼠标作为外部设备,所以client打印的就是滑动鼠标时的坐标值。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值