Private
Public Access
1
0

created working session and client handler w/ websocket

This commit is contained in:
2016-10-19 13:27:55 +02:00
parent fbfbe5a13b
commit 28f42db14a
10 changed files with 300 additions and 62 deletions

View File

@@ -1,24 +1,44 @@
# PDO Session Handler Configuration !!!!! --> moved to main config.yml
#framework:
# session:
# handler_id: session.handler.pdo
# Doctrine cache
doctrine_cache:
providers:
redis_cache:
redis:
host: localhost
port: 6379
database: 3
websocket_cache_client:
type: redis
alias: gos_web_socket.client_storage.driver.redis
# SNC
snc_redis:
clients:
cache:
type: predis
alias: cache
dsn: redis://localhost/2
logging: "%kernel.debug%"
options:
profile: 2.2
connection_timeout: 10
read_write_timeout: 30
# Web Socket Configuration
gos_web_socket:
# for user ex.: var _WS_URI = "ws://{{ gos_web_socket_server_host }}:{{ gos_web_socket_server_port }}";
shared_config: false
server:
port: 8080 # The port the socket server will listen on
host: 127.0.0.1 # The host IP to bind to
host: 0.0.0.0
port: 8080
router:
resources:
- "@MineSeekerBundle/Resources/config/pubsub/routing.yml"
client:
firewall: secured_area # Can be an array of firewalls
firewall: main
session_handler: "@session.handler.pdo"
# storage:
# driver: "@gos_web_socket.client_storage.driver.predis"
# driver: "@gos_web_socket.server.in_memory.client_storage.driver"
# ttl: 28800 # (optionally) time to live if you use redis driver
# prefix: client # (optionally) prefix if you use redis driver, create key "client:1" instead key "1"
# PDO Session Handler Configuration
framework:
session:
handler_id: session.handler.pdo
#
storage:
driver: "@gos_web_socket.client_storage.driver.predis"
decorator: "@gos_web_socket.client_storage.doctrine.decorator"

View File

@@ -1,27 +1,48 @@
services:
# mine_seeker.example:
# class: Mine\SeekerBundle\Example
# arguments: ["@service_id", "plain_value", %parameter%]
pdo:
class: PDO
arguments:
dsn: "mysql:host=%database_host%;dbname=%database_name%"
user: "%database_user%"
passwd: "%database_password%"
calls:
- [ setAttribute, [3, 2] ] # \PDO::ATTR_ERRMODE, \PDO::ERRMODE_EXCEPTION
session.handler.pdo:
class: Symfony\Component\HttpFoundation\Session\Storage\Handler\PdoSessionHandler
arguments:
- "mysql:dbname=%database_name%"
- { db_table: sessions, db_username: myuser, db_password: mypassword }
public: false
arguments: ["@pdo", {lock_mode: 0}]
# gos_web_scocket.client_storage.driver.predis:
# class: Gos\Bundle\WebSocketBundle\Client\Driver\PredisDriver
# arguments:
# - "@cache.adapter.redis"
# config.yml --> gos_web_socket > storage > client > driver
gos_web_socket.client_storage.driver.predis:
class: Gos\Bundle\WebSocketBundle\Client\Driver\PredisDriver
arguments:
- "@snc_redis.cache"
# config.yml --> gos_web_socket > storage > client > decorator
gos_web_socket.client_storage.doctrine.decorator:
class: Gos\Bundle\WebSocketBundle\Client\Driver\DoctrineCacheDriverDecorator
arguments:
- "@doctrine_cache.providers.doctrine.orm.default_result_cache"
acme_hello.topic_sample_service:
class: Mine\SeekerBundle\Topic\AcmeTopic
tags:
- { name: gos_web_socket.topic }
# arguments:
# - { clientManipulator: "@gos_web_socket.websocket.client_manipulator" }
arguments:
clientManipulator: "@gos_web_socket.websocket.client_manipulator"
acme_hello.rpc_sample_service:
class: Mine\SeekerBundle\Rpc\AcmeRpc
tags:
- { name: gos_web_socket.rpc }
gos_web_socket_server.client_event.listener:
class: Mine\SeekerBundle\EventListener\AcmeClientEventListener
tags:
- { name: kernel.event_listener, event: 'gos_web_socket.client_connected', method: onClientConnect }
- { name: kernel.event_listener, event: 'gos_web_socket.client_disconnected', method: onClientDisconnect }
- { name: kernel.event_listener, event: 'gos_web_socket.client_error', method: onClientError }
- { name: kernel.event_listener, event: 'gos_web_socket.server_launched', method: onServerStart }
- { name: kernel.event_listener, event: 'gos_web_socket.client_rejected', method: onClientRejected }