<?phpuse Symfony\Component\HttpFoundation\Session\Session;use Symfony\Component\HttpFoundation\Session\Storage\Handler;use Symfony\Component\HttpFoundation\Session\Storage\NativeSessionStorage;use Symfony\Component\HttpFoundation\Session\Storage\Handler\MemcacheSessionHandler;require 'vendor/autoload.php';require('libs/Smarty.class.php');$smarty = new Smarty;
$memcache = new Memcache;$memcache->connect('localhost', 11211);$storage = new NativeSessionStorage(array(), new MemcacheSessionHandler($memcache));
$session = new Session();
$session->start();$session->set('name', 'Drak');print_r($session->all());
//$smarty->force_compile = true;$smarty->debugging = true;$smarty->caching = true;$smarty->cache_lifetime = 120;
$smarty->display('index.tpl');?>
<?php
use Ratchet\Session\SessionProvider;
use Ratchet\WebSocket\WsServer;
use Ratchet\Server\IoServer;
use Symfony\Component\HttpFoundation\Session\Storage\Handler;
use WebPickup\Pickup;
require '../vendor/autoload.php';
$memcache = new Memcache;
$memcache->connect('localhost', 11211);
$session = new SessionProvider(
new Pickup(),
new Handler\MemcacheSessionHandler($memcache)
);
$server = IoServer::factory(new WsServer($session), 8080);
$server->run();
<?php
namespace WebPickup;
use Ratchet\MessageComponentInterface;
use Ratchet\WebSocket;
use Ratchet\ConnectionInterface;
use Ratchet\Session\Serialize\HandlerInterface;
class Pickup implements MessageComponentInterface {
protected $clients;
public function __construct() {
$this->clients = new \SplObjectStorage;
}
public function onOpen(ConnectionInterface $conn) {
$this->clients->attach($conn);
print_r($conn->Session->all());
}
public function onMessage(ConnectionInterface $from, $msg) {1;
$newmsg = mb_substr($msg,6);
if($newmsg != "")
{
echo sprintf('Connection %d sending chat message "%s" to %d other connection%s' . "\n"
, $from->resourceId, $newmsg, $numRecv, $numRecv == 1 ? '' : 's');
foreach ($this->clients as $client) {
$client->send($newmsg);
}
}
}
public function onClose(ConnectionInterface $conn) {
// The connection is closed, remove it, as we can no longer send it messages
$this->clients->detach($conn);
echo "Connection {$conn->resourceId} has disconnected\n";
}
public function onError(ConnectionInterface $conn, \Exception $e) {
echo "An error has occurred: {$e->getMessage()}\n";
$conn->close();
}
public function onLogin($entry) {
print $entry;
}
}
slab class 1: chunk size 96 perslab 10922slab class 2: chunk size 120 perslab 8738slab class 3: chunk size 152 perslab 6898slab class 4: chunk size 192 perslab 5461slab class 5: chunk size 240 perslab 4369slab class 6: chunk size 304 perslab 3449slab class 7: chunk size 384 perslab 2730slab class 8: chunk size 480 perslab 2184slab class 9: chunk size 600 perslab 1747slab class 10: chunk size 752 perslab 1394slab class 11: chunk size 944 perslab 1110slab class 12: chunk size 1184 perslab 885slab class 13: chunk size 1480 perslab 708slab class 14: chunk size 1856 perslab 564slab class 15: chunk size 2320 perslab 451slab class 16: chunk size 2904 perslab 361slab class 17: chunk size 3632 perslab 288slab class 18: chunk size 4544 perslab 230slab class 19: chunk size 5680 perslab 184slab class 20: chunk size 7104 perslab 147slab class 21: chunk size 8880 perslab 118slab class 22: chunk size 11104 perslab 94slab class 23: chunk size 13880 perslab 75slab class 24: chunk size 17352 perslab 60slab class 25: chunk size 21696 perslab 48slab class 26: chunk size 27120 perslab 38slab class 27: chunk size 33904 perslab 30slab class 28: chunk size 42384 perslab 24slab class 29: chunk size 52984 perslab 19slab class 30: chunk size 66232 perslab 15slab class 31: chunk size 82792 perslab 12slab class 32: chunk size 103496 perslab 10slab class 33: chunk size 129376 perslab 8slab class 34: chunk size 161720 perslab 6slab class 35: chunk size 202152 perslab 5slab class 36: chunk size 252696 perslab 4slab class 37: chunk size 315872 perslab 3slab class 38: chunk size 394840 perslab 2slab class 39: chunk size 493552 perslab 2slab class 40: chunk size 616944 perslab 1slab class 41: chunk size 771184 perslab 1slab class 42: chunk size 1048576 perslab 1<26 server listening (auto-negotiate)<27 send buffer was 212992, now 268435456<27 server listening (udp)<27 server listening (udp)<27 server listening (udp)<27 server listening (udp)<28 new auto-negotiating client connection<29 new auto-negotiating client connection<29 connection closed.SIGINT handled.
.
.
.
$memcache = new Memcache;
$memcache->connect('localhost', 11211);
$storage = new NativeSessionStorage(array(), new MemcacheSessionHandler($memcache));
$session = new Session($storage);#here you forget put $storage as parameter
$session->start();
.
.
.