Подтвердить что ты не робот

Не удается установить соединение с сервером по адресу ws://localhost: 8000/socket/server/startDaemon.php. var socket = новый WebSocket (хост);

Я использую javascript для подключения websocket:

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

Я получил ошибку:

Не удается установить соединение с сервером на

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

Как я могу решить эту проблему?

ПРИМЕЧАНИЕ. Я включил websocket в mozilla для поддержки приложения веб-сокета.      и когда я запускаю в chrome, я получил ошибку:

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

Ответ 1

Я решил свою ошибку, выполнив код по этой ссылке

http://www.flynsarmy.com/2010/05/php-web-socket-chat-application/ и создал файл socketWebSocketTrigger.class.php для ответного сообщения, где код

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;

        }

}

и добавлен код в функции отправки 'WebSocketServer.php' для вызова функции responseMessage, ответ на запрос

 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));
    }

он отлично работает.

Ответ 2

По-видимому, у firefox 4 отключены веб-сайты из-за уязвимостей. Для цитирования Из этой статьи:

Не удалось отключить WebSocket в Firefox 4

Недавние открытия показали, что протокол, с которым работает Websocket, уязвим для атак. Адам Барт продемонстрировал некоторые серьезные атаки на протокол, который может быть использован злоумышленником для отражения кэшей, которые находятся между браузером и Интернетом.

Ответ 3

Вы пытаетесь запустить клиент в Firefox? Согласно документации:

По состоянию на февраль 10 единственные браузеры, которые поддержка websockets - Google Chrome и ночные клубы Webkit. Получите это отсюда http://www.google.com/chrome

Попробуйте запустить его в Chrome и посмотрите, работает ли это для вас.

Ответ 4

Прежде всего, ваша ошибка заключается в использовании функции php с javascript require_once 'WebSocket.php'; и, во-вторых, через учебник, как в приведенной ниже ссылке.

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

он работает нормально.

Спасибо,