Discuz!

 找回密码
 立即注册
查看: 1632|回复: 0

Swoole+websocket多人在线php游戏示例

[复制链接]

1177

主题

468

回帖

475

积分

管理员

积分
475
发表于 2019-1-6 12:23:37 | 显示全部楼层 |阅读模式

利用Swoole,可以使用PHP来开发Websocket服务器,实现多人在线游戏。本文通过一个最简单的摇骰子游戏来介绍Server端(由PHP+Swoole实现)和Client端(由H5+Websocket实现)。

基本原理
由Swoole创建Websocket服务,用户的所有操作(登录、准备、摇骰子等)通过Websocket发送到服务器。游戏状态的改变(用户所有操作、游戏开始、用户摇骰子结果、游戏结束、游戏结果等)也通过Websocket发送到客户端。

流程
游戏初始化

用户连接到服务器即实现了登录。服务器维护在线用户列表。用户登录或退出都push给所有客户端。

所有用户点击“准备”后,游戏开始。用户点击“摇啊摇”后,服务器为该用户生成点数。所有用户都生成点数后,得到点数最大的用户。游戏结束。

本文忽略了房间的设置,把所有用户都统一到一个房间。

运行
下载源码,解压到服务器。下载地址:https://pan.baidu.com/s/1bpEeBNL

运行Server

1
php Server.php
然后用浏览器访问index.html即可。可以同时用不同浏览器打开,以实现多用户同时在线的效果。部分运行截图如下:

1.服务器运行状态



2.用户准备中



3.用户摇骰子



4.游戏结束
文章来源https://www.woyaofeng.com/1505.html
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Discuz! X

GMT+8, 2026-9-14 18:04 , Processed in 0.106064 second(s), 20 queries .

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表