https://github.com/walkor/workerman-chat/tree/master/Applications/Chat
在上面的例子上,我新增了
Server.php
和Client.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呢?
$_SESSION 只能存数组,不能存对象
这种使用场景能指点我一下吗?就是客户端服务端并存,客户但连接其他的服务端并通过自己的服务端把消息转发给网页,这种绑定关系。我该怎么存呢?
这种使用场景能指点我一下吗?就是客户端服务端并存,客户但连接其他的服务端并通过自己的服务端把消息转发给网页,这种绑定关系。我该怎么存呢?