Всем привет пишу мессенджер сделал приветствие и прописал везде выводит ip а мне надо что бы ввыводил имя пользователя из сесии я знаю как вывести из сесии имя вот так $_SESSION['user']['login'] но я пробывал выводила пустоту это MYSQL и PHP
Файлы: server.php
<?php
session_start();
define('PORT',"8090");
require_once ("classes/chat.php");
$chat = new Chat();
$socket = socket_create(AF_INET, SOCK_STREAM,SOL_TCP);
socket_set_option($socket, SOL_SOCKET,SO_REUSEADDR, 1);
socket_bind($socket,0, PORT);
socket_listen($socket);
$clientSocketArray = array($socket);
while(true) {
$newSocketArray = $clientSocketArray;
$nullA = [];
socket_select($newSocketArray,$nullA, $nullA,0,10);
if(in_array($socket, $newSocketArray)) {
$newSocket = socket_accept($socket);
$clientSocketArray[] = $newSocket;
$header = socket_read($newSocket, 1024);
$chat->sendHeaders($header,$newSocket,'localhost/chat',PORT);
socket_getpeername($newSocket, $client_ip_adress);
$connectionACK = $chat->newConnectionACK($client_ip_adress);
$chat->send($connectionACK,$clientSocketArray);
}
}
socket_close($socket);
Класс Chat.php
<?php
class Chat
{
public function sendHeaders($headersText, $newSocket, $host, $port) {
$headers = array();
$tmpLine = preg_split("/\r\n/", $headersText);
foreach($tmpLine as $line) {
$line = rtrim($line);
if(preg_match('/\A(\S+): (.*)\z/',$line, $matches)) {
$headers[$matches[1]] = $matches[2];
}
}
$key = $headers['Sec-WebSocket-Key'];
$sKey = base64_encode(pack('H*', sha1($key.'258EAFA5-E914-47DA-95CA-C5AB0DC85B11')));
$strHeadr = "HTTP/1.1 101 Switching Protocols \r\n" .
"Upgrade: websocket\r\n" .
"Connection: Upgrade\r\n" .
"WebSocket-Origin: $host\r\n" .
"WebSocket-Location: ws://$host:$port/chat/server.php\r\n".
"Sec-WebSocket-Accept:$sKey\r\n\r\n"
;
socket_write($newSocket,$strHeadr, strlen($strHeadr));
}
public function newConnectionACK($client_ip_adress) {
$message = "Хэй! к нам подключился ". $client_ip_adress.'!';
$messageArray = [
"message" => $message,
"type" => " "
];
$ask = $this->seal(json_encode($messageArray));
return $ask;
}
public function seal($socketData) {
$b1 = 0x81;
$length = strlen($socketData);
$header = "";
if($length <= 125) {
$header = pack('CC', $b1, $length);
}
else if($length > 125 && $length < 65536) {
$header = pack('CCn', $b1, 126, $length);
}
else if($length > 65536) {
$header = pack('CCNN', $b1, 127, $length);
}
return $header.$socketData;
}
public function send($message,$clientSocketArray) {
$messageLength = strlen($message);
foreach($clientSocketArray as $clientSocket) {
socket_write($clientSocket, $message, $messageLength);
}
return true;
}
}
Пожалуйста помогите