Unity WebGL WebSocket

openupm

在线示例

快速开始

安装环境

  • 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 交流群

原文地址:https://www.cnblogs.com/yinlong1991/p/13596282.html