php - Ratchet Websocket for raspberry pi -


i have written websocket using ratchet. webserver nginx , lives on raspberry pi. raspberry pi has been connected internet router through port forwarding. when access site @ work, works well. websocket connects, webpages launch. when try access webpage outside of work webpage works except websocket. worst part can't debug because need outside local network websocket fail (i.e not @ work). @ work, can connect server using 2 ip addresses, private ip address accessible locally , public ip address can accessed anywhere. both ip addresses launch websocket. when not @ work, can access webserver on public ip address , websocket not work.

i have been trying make work day , half straight no success. have suggestions? me identify problem?

the websocket code follows ratchet push server tutorial:

    <?php        require '/var/www/html/vendor/autoload.php';         $loop = react\eventloop\factory::create();        $pusher = new myapp\pusher;         $context = new react\zmq\context($loop);        $pull->bind('tcp://127.0.0.1:5555');        $pull->on('message',array($pusher, 'onblogentry'));         $websock = new react\socket\server($loop);        $websock->listen(443, '0.0.0.0');        $webserver = new ratchet\server\ioserver(            new ratchet\http\httpserver(                new ratchet\websocket\wsserver(                    new ratchet\wamp\wampserver(                        $pusher                    )                )            ),            $websock        );        $loop->run();     ?> 

the client side code is:

    var conn = new ab.session('ws://privateipaddress:443',         function (){             console.log("here");             conn.subscribe('client',function(topic,data) {                 console.log("hey");                 ...             });         },         function() {             console.warn('websocket connection closed');         },         {'skipsubprotocolcheck': true}     ); 

i suspect issue security setting since both public , private ip addresses work when @ work site.


Comments