Can't establish a connection to the server at ws://localhost:8000/socket/server/startDaemon.php. var socket = new WebSocket(host);

50,531

Solution 1

I solved my error by following code through this link

http://www.flynsarmy.com/2010/05/php-web-socket-chat-application/ and created socketWebSocketTrigger.class.php file for response message where code as

class socketWebSocketTrigger
{   

        function responseMessage($param)
        {
            $a = 'Unknown parameter';

            if($param == 'age'){
                $a = "Oh dear, I'm 152";
            }

            if($param == 'hello'){
                $a = 'hello, how are you?';
            }

            if($param == 'name'){
                $a = 'my name is Mr. websocket';
            }

            if($param == 'today'){
                $a = date('Y-m-d');
            }

            if($param == 'hi'){
                $a = 'hi there';
            }

            return $a;

        }

}

and added code in send function of 'WebSocketServer.php' for calling 'responseMessage' function which response request message

 public function send($client, $msg){
        $this->say("> ".$msg);
        $messageRequest = json_decode($msg,true);

            // $action=$messageRequest[0];
            $action = 'responseMessage';
            $param  = $messageRequest[1]['data'];
        if( method_exists('socketWebSocketTrigger',$action) ){
                                $response = socketWebSocketTrigger::$action($param);
                            }
            $msg = json_encode(
                array(                      
                'message',
                    array('data' => $response)
                )
            );

            $msg = $this->wrap($msg);

        socket_write($client, $msg, strlen($msg));
    }

it's working great.

Solution 2

Apparently firefox 4 has websockets disabled because of vulnerabilities. To quote From this article:

WebSocket disabled in Firefox 4

Recent discoveries found that the protocol that Websocket works with is vulnerable to attacks. Adam Barth demonstrated some serious attacks against the protocol that could be used by an attacker to poison caches that sit in between the browser and the Internet.

Solution 3

First of all your mistake is using php function with javascript require_once 'WebSocket.php'; and secondly go through the tutorial as in the link below.

http://net.tutsplus.com/tutorials/javascript-ajax/start-using-html5-websockets-today/

it's working fine.

Thanks,

Solution 4

Are you trying to run the client in Firefox? According to the documentation:

As of Feb/10 the only browsers that support websockets are Google Chrome and Webkit Nightlies. Get it from here http://www.google.com/chrome

Try running it in Chrome and see if that works for you.

Share:
50,531
Sanjeev Kumar Jha
Author by

Sanjeev Kumar Jha

Updated on June 21, 2020

Comments

  • Sanjeev Kumar Jha
    Sanjeev Kumar Jha almost 4 years

    I am using javascript to connect websocket:

    <script>
        var socket;  
        var host = "ws://localhost:8000/socket/server/startDaemon.php";  
        var socket = new WebSocket(host);  
    </script>
    

    I got the error:

    Can't establish a connection to the server at

    var host = "ws://localhost:8000/socket/server/startDaemon.php";
    var socket = new WebSocket(host);
    

    How can I solve this issue?

    NOTE : I enabled websocket in mozilla to support web socket application. and when i run in chrome i got error:

       can't establish a connection to the server at ws://localhost:8000/socket/server/startDaemon.php. var socket = new WebSocket(host);