Commit e32f2752 authored by Mat's avatar Mat

on lance le serveur web socket, et au hit de la page les messages s'affichent

(dans le shell et dans le debug du browser)

rem:
* on lance le serveur, mais pas dans le container, depuis un shell normal
  mat@totoro:~/cur/www/symfony$ php bin/console ws:run
* on surveille la table des ports
  watch -d "netstat -tanpu | egrep -i 'established|listen' "
parent 3250da39
...@@ -7,6 +7,7 @@ ...@@ -7,6 +7,7 @@
<script src="{{ asset('bundles/fosjsrouting/js/router.min.js') }}"></script> <script src="{{ asset('bundles/fosjsrouting/js/router.min.js') }}"></script>
<script src="{{ path('fos_js_routing_js', { callback: 'fos.Router.setData' }) }}"></script> <script src="{{ path('fos_js_routing_js', { callback: 'fos.Router.setData' }) }}"></script>
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.0.10/css/all.css" integrity="sha384-+d0P83n9kaQMCwj8F4RJB66tzIwOKmrdb46+porD/OvrJ+37WqIM7UoBtwHO6Nlg" crossorigin="anonymous"> <link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.0.10/css/all.css" integrity="sha384-+d0P83n9kaQMCwj8F4RJB66tzIwOKmrdb46+porD/OvrJ+37WqIM7UoBtwHO6Nlg" crossorigin="anonymous">
{% block stylesheets %}{% endblock %} {% block stylesheets %}{% endblock %}
<link rel="stylesheet" type="text/css" href="{{ asset('css/style.css') }}"> <link rel="stylesheet" type="text/css" href="{{ asset('css/style.css') }}">
......
...@@ -27,7 +27,7 @@ class WsCommand extends ContainerAwareCommand ...@@ -27,7 +27,7 @@ class WsCommand extends ContainerAwareCommand
protected function configure() protected function configure()
{ {
$this->setName('ws:run'); $this->setName('ws:run');
$this->setDescription("Démarre le serveur Web Socket"); $this->setDescription("Démarre le serveur Web Socket\n");
//parent::configure(); // pas nécessaire ici //parent::configure(); // pas nécessaire ici
} }
...@@ -39,7 +39,7 @@ class WsCommand extends ContainerAwareCommand ...@@ -39,7 +39,7 @@ class WsCommand extends ContainerAwareCommand
*/ */
protected function execute(InputInterface $input, OutputInterface $output) protected function execute(InputInterface $input, OutputInterface $output)
{ {
$output->write("Tentative de connexion au chat"); $output->write("Tentative de connexion au chat\n");
/* /*
// méthode 1 // méthode 1
...@@ -48,12 +48,12 @@ class WsCommand extends ContainerAwareCommand ...@@ -48,12 +48,12 @@ class WsCommand extends ContainerAwareCommand
new WsServer( new WsServer(
new ChatHub($this->getContainer()) new ChatHub($this->getContainer())
) )
), 8088, '/' ), 8088, 'ws://0.0.0.0/socket'
); );
*/ */
// méthode 2 // méthode 2
$server = new App('localhost', 8088); $server = new App('0.0.0.0', 8088);
$server->route('/', new ChatHub($this->getContainer())); $server->route('/', new ChatHub($this->getContainer()));
$server->run(); $server->run();
......
...@@ -4,3 +4,27 @@ ...@@ -4,3 +4,27 @@
Hello World! Hello World!
{% endblock %} {% endblock %}
{% block javascripts %}
<script>
// pas nécessaire en ECMAscript 6
//"use strict"; // une sécurité, oblige à écrire correctement le javascript
$(document).ready(function() {
let connection = new WebSocket('ws://0.0.0.0:8088/');
connection.onopen = function(e)
{
connection.send("hello");
};
connection.onmessage = function(e)
{
console.log(e.data);
};
});
</script>
{% endblock %}
...@@ -38,6 +38,8 @@ class ChatHub implements MessageComponentInterface ...@@ -38,6 +38,8 @@ class ChatHub implements MessageComponentInterface
function onOpen(ConnectionInterface $conn) function onOpen(ConnectionInterface $conn)
{ {
// TODO: Implement onOpen() method. // TODO: Implement onOpen() method.
echo "Un utilisateur s'est connecté\n";
$conn->send("Bienvenue sur le chat !");
} }
/** /**
...@@ -49,6 +51,7 @@ class ChatHub implements MessageComponentInterface ...@@ -49,6 +51,7 @@ class ChatHub implements MessageComponentInterface
function onClose(ConnectionInterface $conn) function onClose(ConnectionInterface $conn)
{ {
// TODO: Implement onClose() method. // TODO: Implement onClose() method.
echo "Un utilisateur s'est déconnecté\n";
} }
/** /**
...@@ -62,6 +65,7 @@ class ChatHub implements MessageComponentInterface ...@@ -62,6 +65,7 @@ class ChatHub implements MessageComponentInterface
function onError(ConnectionInterface $conn, \Exception $e) function onError(ConnectionInterface $conn, \Exception $e)
{ {
// TODO: Implement onError() method. // TODO: Implement onError() method.
echo "Une erreur s'est produite\n";
} }
/** /**
...@@ -74,4 +78,5 @@ class ChatHub implements MessageComponentInterface ...@@ -74,4 +78,5 @@ class ChatHub implements MessageComponentInterface
function onMessage(ConnectionInterface $from, $msg) function onMessage(ConnectionInterface $from, $msg)
{ {
// TODO: Implement onMessage() method. // TODO: Implement onMessage() method.
echo "Le message ". $msg ." a été reçu\n";
}} }}
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment