在线示例

快速开始

安装环境

  • 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. Docker这些none:none的镜像,难道就不配拥有名字吗

    1 前言 欢迎访问南瓜慢说 www.pkslow.com获取更多精彩文章! 搞容器开发一段时间后,想看看都有哪些镜像,执行了一下docker images -a,蒙圈了,有一堆<none> ...

  2. samba服务及配置

    samba 目录 samba 1. samba简介 2. samba访问 配置示例 3.搭建用户认证共享服务器 4.搭建匿名用户共享服务器 1. samba简介 Samba是在Linux和UNIX系统 ...

  3. .net core下获取自身服务器地址

    网上的例子千篇一律都是Request.HttpContext.Connect.Connection.XX这种 或者依赖于IHttpContextAccessor的 而我的场景是在非控制器流程获取自身服 ...

  4. Dropwizard+jersey+MDC实现日志跟踪以及接口响应时间统计

    一.实现接口响应时间统计 1.1添加全局请求过滤器并注册 import org.apache.log4j.MDC; import org.slf4j.Logger; import org.slf4j. ...

  5. spring data jpa 之 通用接口

    园主这一阵子接到一个需求,就是将spring data jpa再进行封装,实现通过调用一个baseRepository,来实现每个类的增删改查操作,结合spring data jpa 原有的便捷操作, ...

  6. Spring quartz中取得ServletContext

    在开发javaWeb定时任务的时候,有些处理要取得应用的相对路径,这就需要用到ServletContext取得到这个路径 解决思路是在web应用启动时,把ServletContext提前注入到Sche ...

  7. C++输出错误信息perror、strerror以及全局变量errno

    头文件:#include<stdio.h>函数:perror.strerror,全局变量:errno.使用方法: FILE *fp; if((fp = fopen("test.t ...

  8. 2020-07-08:mysql只有一个表a,什么情况下会造成死锁,解决办法是什么?

    福哥答案2020-07-08: 表锁是不会出现死锁的,但锁等待现象是有可能的.行锁是行级别的,有可能出现死锁.环形等待死锁和唯一键死锁 很常见. 避免死锁方法:1.减少事务操作的记录数.2.约定按相同 ...

  9. C#LeetCode刷题之#661-图片平滑器( Image Smoother)

    问题 该文章的最新版本已迁移至个人博客[比特飞],单击链接 https://www.byteflying.com/archives/3730 访问. 包含整数的二维矩阵 M 表示一个图片的灰度.你需要 ...

  10. AndroidStudio新建项目报错build failed

    AndroidStudio新建项目报错build failed 报错信息 org.gradle.initialization.ReportedException: org.gradle.interna ...