请教$_SESSION作用域问题

西红柿

https://github.com/walkor/workerman-chat/tree/master/Applications/Chat
 

在上面的例子上,我新增了 Server.phpClient.php 用于消息转发
1.Events.php 调用 Server 方法  (因为Events里面是静态的,不太会用,所以新建了一个类)
2.Server方法连接的时候创建AsyncTcpConnection客户端连接其他的服务端
3.客户端收到消息后通过Server发送给网页
 4.网页发送消息给server, server用AsyncTcpConnection发送给其他服务端

Events.phppublic static function onMessage($client_id, $data)
{
    $_SESSION->onMessage($client_id, $data);
}

public static function onConnect($client_id)
{
    $_SESSION = $client_id;
    $_SESSION = new Server();
    $_SESSION->onConnect($client_id);
}
 
Server.php<?php

public function onConnect($client_id)
{
    $serverIp = '***.***.***.***';
    $serve = "ws://$serverIp:9999";
    $_SESSION = new AsyncTcpConnection($serve);
    $_SESSION = new Client($client_id);
    $_SESSION->serveClientId = $client_id;
    $_SESSION->serverIp = $serverIp;
    $_SESSION->onConnect = array($_SESSION, 'onConnect');
    $_SESSION->onMessage = array($_SESSION, 'onMessage');
    $_SESSION->onError = array($_SESSION, 'onError');
    $_SESSION->onClose = array($_SESSION, 'onClose');
    $_SESSION->onError = array($_SESSION, 'onError');
    $_SESSION->connect();
}
public function onMessage($client_id, $data)
{
    $_SESSION->onRecv($data);
}
 
Client.phpfunction onConnect($con)
{
    $this->mCon = $con;
}
public function onRecv($data)
{
    var_dump($this->mCon);
}

 
请问在 Client.php  里面 var_dump($this->mCon)为什么是NULL呢?

2359 2 0
2个回答

抽不完的寂寞

$_SESSION 只能存数组,不能存对象

  • 西红柿 2019-05-07

    这种使用场景能指点我一下吗?就是客户端服务端并存,客户但连接其他的服务端并通过自己的服务端把消息转发给网页,这种绑定关系。我该怎么存呢?

西红柿

这种使用场景能指点我一下吗?就是客户端服务端并存,客户但连接其他的服务端并通过自己的服务端把消息转发给网页,这种绑定关系。我该怎么存呢?

  • 暂无评论
年代过于久远,无法发表回答
🔝