diff --git a/src/Ratchet/WebSocket/WsServer.php b/src/Ratchet/WebSocket/WsServer.php index 61d42b6..0bcb50a 100644 --- a/src/Ratchet/WebSocket/WsServer.php +++ b/src/Ratchet/WebSocket/WsServer.php @@ -106,7 +106,7 @@ class WsServer implements HttpServerInterface { $streamer = new MessageBuffer( $this->closeFrameChecker, function(MessageInterface $msg) use ($wsConn) { - $this->delegate->onMessage($wsConn, $msg); + $this->delegate->onMessage($wsConn, $msg->getPayload(), $msg->isBinary()); }, function(FrameInterface $frame) use ($wsConn) { $this->onControlFrame($frame, $wsConn); diff --git a/tests/autobahn/bin/fuzzingserver.php b/tests/autobahn/bin/fuzzingserver.php index 093a5cf..4b0fb84 100644 --- a/tests/autobahn/bin/fuzzingserver.php +++ b/tests/autobahn/bin/fuzzingserver.php @@ -2,12 +2,18 @@ require dirname(dirname(dirname(__DIR__))) . '/vendor/autoload.php'; +class BinaryEcho extends \Ratchet\Server\EchoServer implements \Ratchet\WebSocket\BinaryMessageInterface { + public function onMessage(\Ratchet\ConnectionInterface $from, $msg, $isBinary = false) { + $from->send($msg, $isBinary); + } +} + $port = $argc > 1 ? $argv[1] : 8000; $impl = sprintf('React\EventLoop\%sLoop', $argc > 2 ? $argv[2] : 'StreamSelect'); $loop = new $impl; $sock = new React\Socket\Server($loop); - $app = new Ratchet\Http\HttpServer(new Ratchet\WebSocket\WsServer(new Ratchet\Server\EchoServer)); + $app = new Ratchet\Http\HttpServer(new Ratchet\WebSocket\WsServer(new BinaryEcho)); $sock->listen($port, '0.0.0.0');