首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何通过boost asio向客户端发送OpenNI深度图?

如何通过boost asio向客户端发送OpenNI深度图?
EN

Stack Overflow用户
提问于 2012-11-02 00:35:03
回答 1查看 421关注 0票数 1

我正在尝试通过boost asio向客户端发送kinect深度图(不带序列化),是尝试异步还是同步更好(目前我的方法是同步):

像这样打碎..

代码语言:javascript
复制
server:
//depthmap
const XnDepthPixel* pDepthMap = depth.GetDepthMap();
boost::asio::write (socket, boost::asio::buffer (pDepthMap, sizeof(pDepthMap))); //sizeof isnt right..

client:
XnDepthPixel* depth;
socket.read_some( boost::asio::buffer (&depth, sizeof(XnDepthPixel)* ?? )); //send sizeof(pDepthMap) before..

编辑: XnDepthPixel的定义(也来自OpenNI):

代码语言:javascript
复制
/** Defines the depth values type (16-bit values). **/
typedef XnUInt16 XnDepthPixel

和XnUInt16:

代码语言:javascript
复制
/** 16-bit unsigned integer. */ 
typedef unsigned short      XnUInt16;
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-11-04 19:34:23

sizeof(pDepthMap)只是指针的大小,但是你真正想要的是发送一些结构,而不是一个指向它的指针。

请看一下ASIO Serialization example,看看如何使用Boost.Serialization来完成它。如果您不想使用Boost.Serialization,您可以通过自己的方式以某种专有的方式“序列化”您的结构。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13181528

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档