Unity WebGL WebSocket
在线示例
快速开始
安装环境
- Unity 2018.3 或更高。
- 无其他SDK依赖。
安装方法
通过 OpenUPM 安装
插件已托管至 OpenUPM ,您可以使用 openupm-cli 进行安装。
openupm add com.psygame.unitywebsocket
通过 Git 安装
在您的项目根路径的
Packages文件夹中找到manifest.json文件,参考如下方式进行修改:{
"dependencies": {
"com.psygame.unitywebsocket": "https://github.com/psygame/UnityWebSocket.git",
...
},
}
可通过修改链接后缀
#{version}来安装对应版本。- 示例:
"com.psygame.unitywebsocket": "https://github.com/psygame/UnityWebSocket.git#2.3.0",
- 示例:
通过 Unity Package 安装
在 Releases 页面中,下载对应版本的
UnityWebSocket.unitypackage安装包,然后导入到您的项目中。
使用方法
- 代码示例
// 命名空间
using UnityWebSocket;
// 创建实例
WebSocket scoket = new WebSocket();
// 注册回调
scoket.OnOpen += OnOpen;
scoket.OnClose += OnClose;
scoket.OnMessage += OnMessage;
socket.OnError += OnError;
// 连接
string address = "ws://echo.websocket.org";
socket.ConnectAsync(address);
// 发送数据(两种发送方式)
socket.SendAsync(str); // 发送类型 String 类型数据
socket.SendAsync(bytes); // 发送 byte[] 类型数据
// 关闭连接
socket.CloseAsync();
- 详细使用方法可参考项目中的 UnityWebSocketTest.cs 示例代码。
注意(Warning)
插件中多个命名空间中存在 WebSocket 类,适用不同环境,请根据自身需求选择。
命名空间 平台 方式 说明 UnityWebSocket 全平台 同步(无阻塞) [推荐] 无需考虑异步回调使用 Unity 组件的问题。 UnityWebSocket.Uniform 全平台 异步 需要考虑异步回调使用 Unity 组件的问题。 UnityWebSocket.WebGL WebGL平台 异步 仅支持WebGL平台下的通信。 UnityWebSocket.NoWebGL 非WebGL平台 异步 仅支持非WebGL平台下的通信。
QQ 交流群
- 1126457634 >>> 入群通道 <<<
Unity WebGL WebSocket的更多相关文章
- 关于 Unity WebGL 的探索(二)
关于 Unity WebGL 的探索(二) 上一篇博客记录了关于 WebGL 移植的第一步:部分 C/C++ 插件的编译,目前项目中的部分插件使用该方法通过,接下来比较大的一部分工作量是网络模块 We ...
- 关于 Unity WebGL 的探索(一)
到今天为止,项目已经上线一个多月了,目前稳定运行,各种 bug 也是有的.至少得到了苹果的两次推荐和 TapTap 一次首页推荐,也算是结项后第一时间对我们项目的一个肯定. 出于各种各样的可描述和不可 ...
- Unity WebGL 窗口自适应
unity 打包好WebGL后,用文本编辑器编辑打包生成的 index.html 文件 在生成的html里面修改代码 <script type="text/javascript ...
- Unity WebGL
路过弄了个unity Unity导出WebGL不支持c#socket和unity的network 可以用javascript的websocket实现... c#一般通过www从phpserver获取. ...
- Unity WebGL MoonSharp崩溃问题
当前Unity的代码更新方案基本都选择的ULua,而我们项目还需要考虑Web平台,ULua不支持WebGL,所以决定选择MoonSharp.MoonSharp(http://www.moonsharp ...
- Unity WebGL请求Http接口出现的Cors跨域问题
1.运行环境 (1)WebGL运行浏览器:Firfox Quantum 67.0(64位) (2)服务端API运行环境:IIS,.Net Core 2.1 API 2.问题:CORS 头缺少Acces ...
- Unity 连接WebSocket(ws://)服务器
Unity 连接ws,不用任何插件,忙活了一天终于搞定了,一直连接不上,原来是没有添加header, 代码比较简单,直接贴出来普度众生 using System; using System.Net.W ...
- Unity发布WebGL时如何修改默认的载入进度条
Unity发布WebGL版本后,需要去除Unity的Logo,首先关闭Splash Image去除Made with Unity启动画面(在File->Build Settings->Pl ...
- Unity发布WebGl注意事项
unity 版本是5.5,不过看了2017的文档好像也是差不多,绝大部分都是根据官方文档,希望有帮助,如果有错误或者你知道更多这方面的只是,请告知下,大恩言谢. 1:对webgl发布的工程文件说明 ...
随机推荐
- 笨办法学习python3练习代码:argv参数变量与文件操作
ex15.py 完成ex15.py需要在ex15.py同文件夹目录下面准备一个txt文件(ex15_sample.txt) 执行ex15.py 如: python ex15.py e ...
- 最后通牒!8月1日开始ios中国区下架全部无版号游戏
据媒体报道,苹果早于7月8日就给中国游戏开发者发送邮件,要求游戏开发者必须在7月31日前提交游戏版号及相关文件,否则付费游戏将不可以在中国AppStore供应,8月1日期全部正式下架. 需 ...
- python6.3类的继承与多态
class Animal(object): def __init__(self,color): self.color=color def eat(self): print("动物在吃!&qu ...
- LinuX操作系统基础------>软件的安装方式,chmod权限,vi编辑器的使用
RPM包管理 -rpm命令管理 RPM包管理 -yum在线管理 文件权限管理 vi编辑器的使用和常用的快捷键 1.RPM包管理: 一种用于互联网下载包的打包及安装工具,RPM包管理分为rpm命令管理和 ...
- MySQL 插入或更新
MySQL DML 记录 数据操纵语言DML(Data Manipulation Language),用户通过它可以实现对数据库的基本操作. 记录一些遇到的语法,以便随时查阅. 插入或更新 ON DU ...
- Vue中diff算法的理解
Vue中diff算法的理解 diff算法用来计算出Virtual DOM中改变的部分,然后针对该部分进行DOM操作,而不用重新渲染整个页面,渲染整个DOM结构的过程中开销是很大的,需要浏览器对DOM结 ...
- Go语言入门系列(六)之再探函数
Go语言入门系列前面的文章: Go语言入门系列(三)之数组和切片 Go语言入门系列(四)之map的使用 Go语言入门系列(五)之指针和结构体的使用 在Go语言入门系列(二)之基础语法总结这篇文章中已经 ...
- 实型(浮点型):float、double
#define _CRT_SECURE_NO_WARNINGS #include<stdio.h> #include<string.h> #include<stdlib. ...
- python设计模式之模板模式
python设计模式之模板模式 编写优秀代码的一个要素是避免冗余.在面向对象编程中,方法和函数是我们用来避免编写冗余代码的重要工具. 现实中,我们没法始终写出100%通用的代码.许多算法都有一些(但并 ...
- python设计模式之适配器模式
python设计模式之适配器模式 结构型设计模式一个系统中不同实体(比如,类和对象)之间的关系,关注的是提供一种简单的对象组合方式来创造功能. 适配器模式( Adapter pattern)是一种结构 ...