WAMP Interface
Updated interfaces from app refactor to branch out WAMP on top of WebSocket app
This commit is contained in:
parent
5334f94b91
commit
3a4bdc918c
@ -80,6 +80,7 @@ class App implements ApplicationInterface {
|
||||
|
||||
declare(ticks = 1);
|
||||
|
||||
$host->set_option(SOL_SOCKET, SO_SNDBUF, $this->_buffer_size);
|
||||
$host->set_nonblock()->bind($address, (int)$port)->listen();
|
||||
|
||||
do {
|
||||
@ -105,7 +106,7 @@ class App implements ApplicationInterface {
|
||||
$res = $this->onOpen($conn);
|
||||
} else {
|
||||
$data = $buf = '';
|
||||
$bytes = $conn->getSocket()->recv($buf, $this->_buffer_size, 0);
|
||||
$bytes = $conn->getSocket()->recv($buf, $this->_buffer_size, MSG_DONTWAIT);
|
||||
if ($bytes > 0) {
|
||||
$data = $buf;
|
||||
|
||||
|
@ -21,16 +21,15 @@ use Ratchet\Resource\Connection;
|
||||
* @link http://www.tavendo.de/autobahn/protocol.html
|
||||
* @todo I can't make up my mind what interface to present to the server application
|
||||
*/
|
||||
class App implements ApplicationInterface, WebSocketAppInterface {
|
||||
class App implements WebSocketAppInterface {
|
||||
protected $_app;
|
||||
|
||||
protected static $_incoming = array(1, 2, 5, 6, 7);
|
||||
|
||||
public function getSubProtocol() {
|
||||
return 'wamp';
|
||||
}
|
||||
|
||||
public function attachHandler(ServerInterface $app) {
|
||||
}
|
||||
|
||||
/**
|
||||
* @todo WAMP spec does not say what to do when there is an error with PREFIX...
|
||||
*/
|
||||
@ -72,12 +71,12 @@ class App implements ApplicationInterface, WebSocketAppInterface {
|
||||
if ($json[0] == 1) {
|
||||
$this->addPrefix($conn, $json[2], $json[1]);
|
||||
}
|
||||
|
||||
// Determine WAMP message type, call $_this->_app->on();
|
||||
}
|
||||
|
||||
public function __construct(ApplicationInterface $app = null) {
|
||||
if (null !== $app) {
|
||||
throw new \InvalidArgumentException('WAMP is the end of the Socket stack, apps build on this must conform to the WAMP protocol');
|
||||
}
|
||||
public function __construct(ServerInterface $app) {
|
||||
$this->_app = $app;
|
||||
}
|
||||
|
||||
public function onClose(Connection $conn) {
|
||||
|
@ -1,7 +1,7 @@
|
||||
<?php
|
||||
namespace Ratchet\Application\WAMP;
|
||||
|
||||
class JSONException extends \Exception {
|
||||
class JSONException extends Exception {
|
||||
public function __construct() {
|
||||
$code = json_last_error();
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user