Unity(支持WebGL)+PHP(Workerman的Gateway)用Websocket协议实现匹配对战(摇骰子为例)1

3 篇文章 0 订阅
本文介绍了如何在Windows环境下安装PHP服务器,并使用Unity2021.3.5f1版本创建和发布客户端,包括Windows、WebGL、Android和iOS客户端。重点讲解了从ws到wss的安全协议转换以及Workerman的GatewayWorker服务。此外,提供了示例工程的Gitee下载链接和作者联系方式。
摘要由CSDN通过智能技术生成

  • 众所周知 Unity的WebGL不支持TCP/IP(C# Socket)网络层,所以想用Unity做网页游戏或者小游戏,网络层是不能用TCP/IP(C# Socket)的。详情请查看链接WebGL Networkking

图片描述

  • 所以我通过一个匹配例子,给大家介绍如何使用Websocket来规避这个问题。

  • 首先去gitee下载工程,地址为 https://gitee.com/chasing2moro/dicews

服务端PHP(Windows下演示)

安装PHP

  1. 去官网 https://windows.php.net/download 下载一个Thread Safe X64/X86版本的zip
  2. 解压zip
  3. 设置环境变量为解压后的路径

遇到问题,可以去 https://www.workerman.net/windows 网站,查看详细步骤

启动服务器

双击工程里的 server\GatewayWorker\start_for_win.bat 文件
图片描述

结束服务器

  1. 在启动服务器的“Windows 命令处理程序”按2次键盘 Ctrl+C
  2. 输入Y
  3. 回车键
    结束服务器

切勿“结束服务器”,因为后面需要连接服务器。这里只是陈述如何结束服务器的步骤

客户端Unity(版本Unity2021.3.5f1)

入口场景为:SceneLaunch.unity

1.发布Windows客户端

  1. 发布Windows客户端
    1.1 打开Addressables窗口(如下图点击菜单)
    图片描述
    1.2 打包Bundle资源(如下图点击菜单)
    图片描述
    1.3 构建可执行文件(如下图点击菜单+按钮)
    图片描述
    1.4 双击构建成功的可执行文件Dice.exe,即可运行
    插入图片描述

ws/wss(不发布微信小游戏,请忽略此点)

微信小游戏测试阶段是支持ws协议,但是上线需要改为wss协议。ws改wss的步骤:

  1. 客户端修改:client\Assets\Scripts\UI\Window\UILogin\UILogin.Login.cs
WebSocketClient.Instance.Connect("ws://" + ip + ":" + port, onConnect2Login);

改成

var domainName = "请自行申请域名";
WebSocketClient.Instance.Connect("wss://"+domainName, onConnect2Login);
  1. 服务端修改,请跳如下链接:
    https://www.workerman.net/doc/workerman/faq/secure-websocket-server.html

演示

运行2~8个可执行文件Dice.exe,即可开始演示
图片描述

工程地址

https://gitee.com/chasing2moro/dicews

至此教程已经结束。

扩展

发布其他端

1. 发布WebGL

  1. 发布WebGL
    1.1 切换WebGL平台
    图片描述
    1.2 修改Default Local Group配置,如下图
    图片描述

1.3 打开Addressables窗口(如下图点击菜单)
图片描述
1.4 打包Bundle资源(如下图点击菜单)
图片描述
1.5 构建WebGL
图片描述
1.6 选择Unity工程同级目录ServerData导出
图片描述
1.7 将IIS物理路径设置为ServerData
图片描述
1.8 设置MIME
图片描述
把下面的MIME类型填充进上面的MIME弹窗

文件扩展名MIME类型
.dataapplication/octet-stream
.bundleapplication/octet-stream
.unitywebapplication/octet-stream

如果运行期间发现MIME不全,自行添加对应缺失的MIME

1.9 运行网页。地址为 http://localhost (也可自行在网页上输入此地址运行)
图片描述

2. 发布Android客户端(已支持,请参照发布Windows客户端流程)

3. 发布iOS客户端(已支持,请参照发布Windows客户端流程)

联系作者

email:chasing2moro@qq.com

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值