2015-02-10 2 views
0

Я хочу упаковать свой класс из C++ Client на PHP Server и обратно. но когда я пытаюсь упаковать класс PHP и распаковать его на класс C++, я получил ошибку.Msgpack между 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>(); 

, а затем я получил сообщение об ошибке с именем " msgpack :: v1 :: type_error "

Кто-нибудь знает, как правильно упаковать и распаковать класс между C++ и PHP?

ответ

0

вопрос Решенный: в любом случае это не поддержка.