/** * @see Amfphp_Core_Common_IDeserializer */ public function deserialize(array $getData, array $postData, $rawPostData) { $deserializer = new Amfphp_Core_Amf_Deserializer($rawPostData); $requestPacket = $deserializer->deserialize(); $this->objectEncoding = $requestPacket->amfVersion; return $requestPacket; }
/** * deserialize * @see Amfphp_Core_Common_IDeserializer * @param array $getData * @param array $postData * @param string $rawPostData * @return string */ public function deserialize(array $getData, array $postData, $rawPostData) { $deserializer = new Amfphp_Core_Amf_Deserializer(); //note: this has to be done here and not in the constructor to avoid //disabling scanning when it's another handler that ends up handling the request $this->voConverter = Amfphp_Core_FilterManager::getInstance()->callFilters(Amfphp_Core_Gateway::FILTER_VO_CONVERTER, null); if ($this->voConverter) { $this->voConverter->setScanEnabled(false); $deserializer->voConverter = $this->voConverter; } $requestPacket = $deserializer->deserialize($getData, $postData, $rawPostData); return $requestPacket; }
/** * deserialize * @see Amfphp_Core_Common_IDeserializer * @param array $getData * @param array $postData * @param string $rawPostData * @return string */ public function deserialize(array $getData, array $postData, $rawPostData) { $deserializer = new Amfphp_Core_Amf_Deserializer(); $requestPacket = $deserializer->deserialize($getData, $postData, $rawPostData); return $requestPacket; }
/** * test deserializing packets */ public function testDeserializingPackets() { $testData = new AmfTestData(); /* template //Packet with */ //Packet with null header $deserializer = new Amfphp_Core_Amf_Deserializer($testData->sNullHeaderPacket); $deserialized = $deserializer->deserialize(array(), array(), $testData->sNullHeaderPacket); $expectedDeserialized = $testData->dNullHeaderPacket; $this->assertEquals($expectedDeserialized, $deserialized); //Packet with string header $deserializer = new AmfDeserializerWrapper($testData->sStringHeaderPacket); $deserialized = $deserializer->deserialize(array(), array(), $testData->sStringHeaderPacket); $expectedDeserialized = $testData->dStringHeaderPacket; $this->assertEquals($expectedDeserialized, $deserialized); //Packet with null Message $deserializer = new AmfDeserializerWrapper($testData->sNullMessagePacket); $deserialized = $deserializer->deserialize(array(), array(), $testData->sNullMessagePacket); $expectedDeserialized = $testData->dNullMessagePacket; $this->assertEquals($expectedDeserialized, $deserialized); //Packet with string Message $deserializer = new AmfDeserializerWrapper($testData->sStringMessagePacket); $deserialized = $deserializer->deserialize(array(), array(), $testData->sStringMessagePacket); $expectedDeserialized = $testData->dStringMessagePacket; $this->assertEquals($expectedDeserialized, $deserialized); //Packet with 2 headers and 2 Messages $deserializer = new AmfDeserializerWrapper($testData->s2Headers2MessagesPacket); $deserialized = $deserializer->deserialize(array(), array(), $testData->s2Headers2MessagesPacket); $expectedDeserialized = $testData->d2Headers2MessagesPacket; $this->assertEquals($expectedDeserialized, $deserialized); }
<?php // code: http://devzone.zend.com/article/1086 include 'out_class.php'; include 'Socket/Server.php'; require_once 'amfphp/core/amf/app/Gateway.php'; require_once AMFPHP_BASE . 'amf/io/AMFSerializer.php'; require_once AMFPHP_BASE . 'amf/io/AMFDeserializer.php'; require_once 'YaBOB/AMF.php'; error_reporting(-1); $a = [1 => 1]; $b = [1 => 1]; // Set time limit to indefinite execution set_time_limit(0); // Set the ip and port we will listen on $address = '127.0.0.1'; $port = 9080; echo 'Listening on ', $address, ':', $port, PHP_EOL; $s = new Socket\Server($address, $port); $s->listen(function ($a, $b, $input) { $AMF = new Amfphp_Core_Amf_Deserializer(); echo "received: " . $input, PHP_EOL; $ret_str = $AMF->deserialize($input); echo "returning: " . $ret_str, PHP_EOL; return $ret_str; });
/** * read byte array * @return Amfphp_Core_Amf_Types_Dictionary */ public function readAmf3Dictionary() { return parent::readAmf3Dictionary(); }
/** * read byte array * @return Amfphp_Core_Amf_Types_ByteArray */ public function readAmf3ByteArray() { return parent::readAmf3ByteArray(); }