как использовать сессионный набор с помощью веб-сокета

0

Я использую методы websocket для своего проекта.

есть один файл server.php, который является файлом демона.

и код клиентской стороны:

var wsUri = "ws://localhost:8590/demo/server.php";
var websocket = new WebSocket(wsUri);
$(document).ready(function () {
    startTimer();
    websocket.onopen = function (ev) { // connection is open 
        $('#message_box').append("<div class=\"system_msg\">Connected!</div>"); //notify user
    }  
    //#### Message received from server?
    websocket.onmessage = function (ev) {
        var msg = JSON.parse(ev.data); //PHP sends Json data       
        var type = msg.type; //message type
        var umsg = msg.message; //message text
        var uname = msg.name; //user name  

        if (msg.action) {
            startTimer();
        }
        if (!msg.action) {
            if (type == 'usermsg')
            {
                $('#message_box').append("<span> Name :" + uname +"</span>");
                if (umsg.indexOf("null") >= 0) {
                } else {
                    //window.alert(1);
                }
            }
            if (type == 'system')
            {
                $('#message_box').append("<span> system :" + umsg + "</span>");
            }
        }
    };
    websocket.onerror = function (ev) {
        $('#message_box').append("<div class=\"system_error\">Error Occurred - " + ev.data + "</div>");
    };
    websocket.onclose = function (ev) {
        $('#message_box').append("<div class=\"system_msg\">Connection Closed- " + ev.data + "</div>");
    };

теперь какой сеанс создан в server.php. Я использую тот же session_id для другого файла, но не предоставляю мне данные сеанса

$session_id=  $_REQUEST['session_id'];

if(!empty($session_id)){    
    session_id($session_id);    
}
session_start();
echo "<pre>";
print_r($_SESSION);
exit;

но это дает мне пустой массив

так как получить сеанс, созданный websocket в http файле

Теги:
websocket

1 ответ

0
<?php
@session_start();
if(empty($_SESSION['session_id']) && !empty($_REQUEST['session_id'])) {
    $_SESSION['session_id'] = $_REQUEST['session_id'];
}else {
    print ('Error : can not initialize your session...');
}
  • 0
    но без получения session_id, как я могу использовать session_start ()?
  • 0
    @ Er.KT я редактировал свой пост :)
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню