Php 在WebSocket服务器中获取会话
我知道这个问题已经被问过好几次了。我遵循这些问题的答案,但我面临的问题仍然存在 简单地说,我想从WebSocket服务器内的会话变量中获取用户名。据我所知,我需要获取会话id,并将其与每条消息一起发送到套接字。使用id读取会话 发送会话id:Php 在WebSocket服务器中获取会话,php,session,websocket,Php,Session,Websocket,我知道这个问题已经被问过好几次了。我遵循这些问题的答案,但我面临的问题仍然存在 简单地说,我想从WebSocket服务器内的会话变量中获取用户名。据我所知,我需要获取会话id,并将其与每条消息一起发送到套接字。使用id读取会话 发送会话id:this.socket.send('JOIN'+sessionID) 我已确保sessionID包含正确的id。这可以正常工作 这是WebSocket服务器PHP的重要部分: <?php $message = explode(' ', $messag
this.socket.send('JOIN'+sessionID)代码>
我已确保sessionID
包含正确的id。这可以正常工作
这是WebSocket服务器PHP的重要部分:
<?php
$message = explode(' ', $message);
$command = array_shift($message);
if ($command == 'JOIN') {
session_id(trim($message[0]));
session_start();
$username = $_SESSION['username'];
?>
问题是,它仍然只适用于第一个加入服务器的用户。任何其他用户都将被拒绝连接,因为用户名已联机
我错过什么了吗
编辑:我已经让服务器返回$message[0]
,以确保它获得正确的会话id,并返回预期的内容。(它为每个尝试连接的用户返回不同的id)。PHP会锁定会话,以防止并发写入,直到脚本结束或手动关闭
而且,由于WebSocket服务器应该永远运行,因此您需要手动执行此操作。之后,请使用“@gre_gor OMG”关闭会话,这似乎解决了问题!请把那个评论变成一个答案。你已经赢得了一些声誉!