当前位置: 首页 > 工具软件 > PHP Ratchet > 使用案例 >

php游戏房间创建,php – 使用Ratchet创建/管理私人房间?

夏华藏
2023-12-01

我正在制作ios聊天应用程序.在研究了所需的技术和协议之后,我决定尝试使用websockets.由于我们的堆栈顶部是基于PHP的原因,我开始了解棘轮作为PHP的websockets.我从阅读documentation为ios前端制作了简单的聊天服务器.聊天工作非常好,我也很满意.我想知道如何创建单独的私人聊天室.是否需要为不同的房间运行不同的套接字事件循环实例?

>我制作的示例服务器正在使用单个事件循环

管理用户连接并将消息分派给不同的人

连接/用户ID.我真的试图寻找创造私人

聊天室,但没有找到任何我可能的信息

信心.我是否必须虚拟地管理每个连接/用户ID

在此事件循环中,例如决定哪些用户可以相互聊天

直接通过控制消息的调度?或者是他们的

真的是另外一种方法吗?这是事件循环样本

我实施的par文档:

require dirname(__DIR__) . '/vendor/autoload.php';

$server = IoServer::factory(

new HttpServer(

new WsServer(

new Chat()

)

),

8080

);

$server->run();

我想告诉我,我是一个ios / android开发人员,真的没有专家或者对网络前端/后端技术有流畅的了解.我做网络编程作为一种爱好,我尽我所能进行所有搜索和研究,因此请不要介意我的任何问题听起来都很愚蠢.

谢谢,

解决方法:

Will different instance of socket event loop needed to run for separate rooms ?

不需要.只需要一个循环.你的片段很好.您需要做的是调整Chat类,以便它接受来自用户输入的附加参数 – 房间ID /名称.

例如,用户发送消息{“cmd”:“msg”,“message”:“嗨”,“房间”:1},然后聊天应仅将消息发送给加入该房间的用户.当然,您应该实现其他用户方法,例如{“cmd”:“join”,“room”:1},{“cmd”:“leave”,“room”:1}

标签:php,websocket,phpwebsocket,ratchet

来源: https://codeday.me/bug/20190708/1402453.html

 类似资料: