_createHandshakeThingy($key1, $key2, $code) ; } public function newMessage() { return new Hixie76\Message; } public function newFrame() { return new Hixie76\Frame; } public function frame($message) { return chr(0) . $message . chr(255); } protected function _doStuffToObtainAnInt32($key) { return preg_match_all('#[0-9]#', $key, $number) && preg_match_all('# #', $key, $space) ? implode('', $number[0]) / count($space[0]) : '' ; } protected function _createHandshakeThingy($key1, $key2, $code) { return md5( pack('N', $this->_doStuffToObtainAnInt32($key1)) . pack('N', $this->_doStuffToObtainAnInt32($key2)) . $code , true); } }