_conn = $connectionContext; $this->maskPayload = $maskPayload; } public function setFrame(\Ratchet\RFC6455\Messaging\Protocol\FrameInterface $frame = null) { $this->_frame = $frame; } public function getFrame() { return $this->_frame; } public function setMessage(\Ratchet\RFC6455\Messaging\Protocol\MessageInterface $message = null) { $this->_message = $message; } public function getMessage() { return $this->_message; } public function onMessage(\Ratchet\RFC6455\Messaging\Protocol\MessageInterface $msg) { $frame = new \Ratchet\RFC6455\Messaging\Protocol\Frame($msg->getPayload(), true, $msg[0]->getOpcode()); if ($this->maskPayload) { $frame->maskPayload(); } $this->_conn->write($frame->getContents()); } public function onPing(\Ratchet\RFC6455\Messaging\Protocol\FrameInterface $frame) { $pong = new \Ratchet\RFC6455\Messaging\Protocol\Frame($frame->getPayload(), true, \Ratchet\RFC6455\Messaging\Protocol\Frame::OP_PONG); if ($this->maskPayload) { $pong->maskPayload(); } $this->_conn->write($pong->getContents()); } public function onPong(\Ratchet\RFC6455\Messaging\Protocol\FrameInterface $msg) { // TODO: Implement onPong() method. } public function onClose($code = 1000) { $frame = new \Ratchet\RFC6455\Messaging\Protocol\Frame( pack('n', $code), true, \Ratchet\RFC6455\Messaging\Protocol\Frame::OP_CLOSE ); if ($this->maskPayload) { $frame->maskPayload(); } $this->_conn->end($frame->getContents()); } }