【发布时间】:2015-02-23 17:48:25
【问题描述】:
我正在制作 iOS 聊天应用程序。在研究了所需的技术和协议之后,我决定尝试一下 websockets。由于某些原因,我们的堆栈顶部是基于 php 的,我开始了解棘轮作为 PHP 的 websockets。我通过阅读 documentation 为 ios 前端制作了简单的聊天服务器。聊天工作得很好,我也很满意。我想知道如何创建单独的私人聊天室。 是否需要为不同的房间运行不同的套接字事件循环实例?
我制作的示例服务器使用单个事件循环来管理用户连接并将消息发送到不同的连接/用户 ID。我真的很想注意创建私人聊天室,但没有找到任何可以让我有信心的信息。
我是否必须在此事件循环中虚拟管理每个连接/用户 ID,例如通过控制消息的发送来决定哪些用户可以直接相互聊天?或者他们真的是一种单独的方式来做到这一点?这是我实现的文档中的事件循环示例:
<?php
use Ratchet\Server\IoServer;
use Ratchet\Http\HttpServer;
use Ratchet\WebSocket\WsServer;
use MyApp\Chat;
require dirname(__DIR__) . '/vendor/autoload.php';
$server = IoServer::factory(
new HttpServer(
new WsServer(
new Chat()
)
),
8080
);
$server->run();
我想说的是,我是一名 iOS/Android 开发人员,在网络前端/后端技术方面确实不是专家,也没有流利的知识。
【问题讨论】:
标签: php websocket ratchet phpwebsocket