PHP和C ++之间的Msgpack

时间:2015-02-10 06:31:30

标签: php c++ msgpack

我想将我的类从C ++ Client打包到PHP Server并返回。但是当我尝试打包PHP类并将其解压缩到C ++类时,我遇到了错误。

这是我在PHP中的代码

  class maplemessage
{
     var $nCode;            
     var $nType;            
     var $Text;            
     var $nRetrytime;       

     function setValue()
     {

     $this->nCode = 22;
     $this->nType = 12;
     $this->Text = "testmessage";
     $this->nRetrytime = 81;
     }
}
$msg1  = new maplemessage;
$msg1->setValue();

$binpacked =  msgpack_pack($msg1);

之后我将打包的二进制数据发送到C ++客户端并尝试解压缩到类

    class maplemessage {
public:

    int nCode;          
    int nType;          
    std::string Text;       
    int nRetrytime;     
public:
    MSGPACK_DEFINE(nCode, nType, Text, nRetrytime);
};

...

    msgpack::unpacked unp;
    msgpack::unpack(unp, tmpbyte.data(), tmpbyte.size());
    msgpack::object obj = unp.get();
    std::cout << obj << std::endl;
    msg1 = obj.as<maplemessage>();

然后我收到一个名为&#34; msgpack :: v1 :: type_error&#34;

的错误

任何人都知道在C ++和PHP之间打包和解包类的正确方法是什么?

1 个答案:

答案 0 :(得分:0)

问题已解决:无论如何都不支持这样做。