在线示例

快速开始

安装环境

  • 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();

注意(Warning)

  • 插件中多个命名空间中存在 WebSocket 类,适用不同环境,请根据自身需求选择。

    命名空间 平台 方式 说明
    UnityWebSocket 全平台 同步(无阻塞) [推荐] 无需考虑异步回调使用 Unity 组件的问题。
    UnityWebSocket.Uniform 全平台 异步 需要考虑异步回调使用 Unity 组件的问题。
    UnityWebSocket.WebGL WebGL平台 异步 仅支持WebGL平台下的通信。
    UnityWebSocket.NoWebGL 非WebGL平台 异步 仅支持非WebGL平台下的通信。

QQ 交流群

Unity WebGL WebSocket的更多相关文章

  1. 关于 Unity WebGL 的探索(二)

    关于 Unity WebGL 的探索(二) 上一篇博客记录了关于 WebGL 移植的第一步:部分 C/C++ 插件的编译,目前项目中的部分插件使用该方法通过,接下来比较大的一部分工作量是网络模块 We ...

  2. 关于 Unity WebGL 的探索(一)

    到今天为止,项目已经上线一个多月了,目前稳定运行,各种 bug 也是有的.至少得到了苹果的两次推荐和 TapTap 一次首页推荐,也算是结项后第一时间对我们项目的一个肯定. 出于各种各样的可描述和不可 ...

  3. Unity WebGL 窗口自适应

    unity 打包好WebGL后,用文本编辑器编辑打包生成的 index.html 文件 在生成的html里面修改代码     <script type="text/javascript ...

  4. Unity WebGL

    路过弄了个unity Unity导出WebGL不支持c#socket和unity的network 可以用javascript的websocket实现... c#一般通过www从phpserver获取. ...

  5. Unity WebGL MoonSharp崩溃问题

    当前Unity的代码更新方案基本都选择的ULua,而我们项目还需要考虑Web平台,ULua不支持WebGL,所以决定选择MoonSharp.MoonSharp(http://www.moonsharp ...

  6. Unity WebGL请求Http接口出现的Cors跨域问题

    1.运行环境 (1)WebGL运行浏览器:Firfox Quantum 67.0(64位) (2)服务端API运行环境:IIS,.Net Core 2.1 API 2.问题:CORS 头缺少Acces ...

  7. Unity 连接WebSocket(ws://)服务器

    Unity 连接ws,不用任何插件,忙活了一天终于搞定了,一直连接不上,原来是没有添加header, 代码比较简单,直接贴出来普度众生 using System; using System.Net.W ...

  8. Unity发布WebGL时如何修改默认的载入进度条

    Unity发布WebGL版本后,需要去除Unity的Logo,首先关闭Splash Image去除Made with Unity启动画面(在File->Build Settings->Pl ...

  9. Unity发布WebGl注意事项

    unity 版本是5.5,不过看了2017的文档好像也是差不多,绝大部分都是根据官方文档,希望有帮助,如果有错误或者你知道更多这方面的只是,请告知下,大恩言谢. 1:对webgl发布的工程文件说明   ...

随机推荐

  1. EC R 86 D Multiple Testcases 构造 贪心 二分

    LINK:Multiple Testcases 得到很多种做法.其中O(n)的做法值得一提. 容易想到二分答案 check的时候发现不太清楚分配的策略. 需要先考虑如何分配 容易发现大的东西会对小的产 ...

  2. Hadoop学习问题记录之基础篇

    目的 记录学习hadoop过程中遇到的基础问题,无关大小.无关困扰时间长短. 问题一 全分布式环境中运行mapred程序,报异常:java.net.NoRouteToHostException: 没有 ...

  3. Spring的事务抽象

    Spring提供了一致的事务管理抽象,该抽象能实现为不同的事务API提供一致的编程模型.无视我们使用jdbc.hibernate.mybatis哪种方式来操作数据,无视事务是jta事务还是jdbc事务 ...

  4. js如何从一个数组中随机取出n个不同且不重复的值

    前言 一位正在学习前端的菜鸟,虽菜,但还未放弃. 给大家画张图了解思路 以下是代码 function randomArr(arr,num){ let newArr = [];//创建一个新数组 for ...

  5. Linux集群配置离线ntp时间同步服务

    集群中时间不同步有可能会让大数据的应用程序运行混乱,造成不可预知的问题,比如Hbase.mongodb副本集等,Hbase当时间差别过大时就会挂掉,mongodb如果副本时间过快,会出现时间栈帧溢出提 ...

  6. 和菜鸟一起学linux之DBUS基础学习记录(转)

    转自:https://www.cnblogs.com/wuyida/p/6299998.html D-Bus三层架构 D-Bus是一个为应用程序间通信的消息总线系统, 用于进程之间的通信.它是个3层架 ...

  7. Python笔试——毕业旅行问题

    毕业旅行问题 小明目前在做一份毕业旅行的规划.打算从北京出发,分别去若干个城市,然后再回到北京,每个城市之间均乘坐高铁,且每个城市只去一次.由于经费有限,希望能够通过合理的路线安排尽可能的省一些路上的 ...

  8. NIO(三):Selector选择器

    一.堵塞式与非堵塞式 在传统IO中,将数据由当前线程从客户端传入服务端,由服务端的内核进行判断传过来的数据是否合法,内核中是否存在数据. 如果不存在数据 ,并且数据并不合法,当前线程将会堵塞等待.当前 ...

  9. 聊聊WindowServer那些事!

    前言说明 使用工具:VS2019 思考为什么要使用WindowServer,它能做什么了?(后面解答) 一:什么是WindowServer?(我们做的是一个什么东西?)         Microso ...

  10. 2020-07-10:sql如何调优?

    福哥答案2020-07-10:此答案来自群成员: SQL提高查询效率的几点建议 1.如果要用子查询,那就用EXISTS替代IN.用NOT EXISTS替代NOT IN.因为EXISTS引入的子查询只是 ...